`
oldrev
  • 浏览: 233725 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

D语言通用 Rakefile

阅读更多
在一个日文网站上发现的通用 Rakefile for GDC

require
"rake/clean"

NAME = "hogehoge" # プロジェクト名 ##可执行文件名
PROG = "#{NAME}"
PROG_DEBUG = "#{NAME}_debug"
SRC = "src"

SRCS = FileList["./src/**/*.d"]
OBJS = SRCS.ext "o"
OBJS_DEBUG = SRCS.map {|file| file.sub /\.d$/, "_debug.o"}

task :default => :run_debug
task :release => PROG
task :debug => PROG_DEBUG

rule ".o" => ".d" do |t|
sh "gdc #{t.source} -c -I #{SRC} -inline -O --release -w -o #{t.name}"
end

rule("_debug.o" => [proc {|tn| tn.sub(/_debug\.o$/, ".d")}]) do |t|
sh "gdc #{t.source} -c --debug -g -I #{SRC} --unittest -w -o #{t.name}"
end

file PROG => OBJS do |t|
sh "gdc -o #{t.name} #{t.prerequisites.join(' ')}"
end
file PROG_DEBUG => OBJS_DEBUG do |t|
sh "gdc -o #{t.name} #{t.prerequisites.join(' ')}"
end

CLEAN.include OBJS
CLEAN.include OBJS_DEBUG
CLOBBER.include PROG
CLOBBER.include PROG_DEBUG

task :run => :run_release
task :run_release => PROG do
sh "./#{PROG}"
end
task :run_debug => PROG_DEBUG do
sh "./#{PROG_DEBUG}"
end
分享到:
评论
1 楼 oldrev 2007-03-31  
Rank 在 Windows 下有一个大 bug,无法运行,推荐使用 Rant

相关推荐

    ffmpeg 增加x86 的 rakefile

    https://github.com/kolyvan/kxmovie 里面的git submodule update --init rake,,自己增加了rakefile 的x86 的编译,未验证。

    写一个漂亮Rakefile的方法

    和 Makefile 不同的是,Rakefile 本身其实就是一段 Ruby 代码,这样的好处有很多,一方面在 Rake 里面就可以很直接地做任何 Ruby 能做的事了,另一方面由于 Ruby 对 DSL 支持良好,所以 Rakefile 通常看起来也并不...

    Swift-使用ShellscriptMakefile或Rakefile设置iOS项目环境

    在iOS开发过程中,为了提高效率和自动化重复任务,开发者经常使用Shellscript、Makefile或Rakefile来设置项目环境。这些工具使得构建、测试和部署流程变得更加便捷。下面将详细介绍这三个工具及其在Swift开发中的...

    rakegem:Rakefile帮手,用于建筑安装您的gem

    耙宝石 耙安装 安装 将此行添加到您的应用程序的Gemfile中: gem 'rakegem' , github : 'jubishop/rakegem' 然后执行: $ bundle install 或安装specificinstall以全局安装: gem install specificinstall ...

    ruby语言开发的音乐推荐网站源码(作业).zip

    这个压缩包文件包含了一个使用Ruby语言开发的音乐推荐网站的源代码。Ruby是一种面向对象的、动态类型的编程语言,常用于Web开发,尤其与Rails框架结合时,能快速构建功能丰富的Web应用。在这个作业中,我们可以看到...

    rake-tilde:当文件更改时运行 rake 任务。 无需更改您的 Rakefile

    无需对 Rakefile 进行任何更改,只需在任务名称前添加 ~ 如: $ rake ~build安装将此行添加到应用程序的 Gemfile 中: gem 'rake-tilde' 然后执行: $ bundle或者自己安装: $ gem install rake-tilde用法这个 ...

    provisioningDO:Rakefile通过使用拖船安装了木偶客户端的方式在Digital Ocean上配置VPS

    供应DO概述: 这是一个rakefile,其中包含几个任务,以通过人偶客户端启动Debian i386 / amd64 VPS并在上运行该脚本假定: 您正在运行的用户具有sudo访问权限,无需密码即可运行/ usr / bin / puppet,/ bin / tar ...

    基于Ruby、HTML、JavaScript、CSS的多语言婚庆项目设计源码

    该项目是一款多语言婚庆项目设计源码,采用Ruby、HTML、JavaScript和CSS进行开发,共包含37个文件,其中Ruby文件18个,HTML文件4个,YML文件2个,Gitignore文件1个,Gemfile文件1个,md文件1个,rdoc文件1个,...

    Sendero-开源

    D语言是一种现代的、通用的、系统级的编程语言,强调性能、安全性和可维护性。Sendero旨在简化和加速基于MVC(Model-View-Controller)架构的Web应用开发。 Sendero的核心特性包括: 1. **MVC架构**:Sendero遵循...

    jekyll-rake-boilerplate:用于常见 Jekyll 任务的小型 rakefile

    Jekyll Rake 样板 Jekyll Rake Boilerplate是一个小型耙子“样板”,用于使用静态站点生成器执行常见任务,例如生成站点、在默认浏览器中预览它、从默认模板创建新帖子或页面并将其传输到远程git 存储库、远程主机/...

    ios-project-env-setup:使用Shellscript,Makefile或Rakefile设置iOS项目环境

    设置iOS项目环境 如今,一个iOS项目不仅仅是一个带有一些自写的Objective-C或Swift文件的*.xcodeproj文件。 我们的项目中有很多直接和间接的外部依赖关系,项目或构建服务器上的每个新开发人员都必须获取这些依赖。...

    motion-cocoapods:通过CocoaPods将第三方库集成到RubyMotion for iOS OS X项目中

    仍然在Rakefile ,使用与Rakefile相同的语言来设置依赖。 Motion :: Project :: App . setup do | app | # ... app . pods do pod 'AFNetworking' end end 您可以使用use_frameworks! 将Pod安装为框架(注意...

    Raven

    本文将深入探讨如何使用Ruby语言来编写脚本,以实现Java项目的高效构建。Ruby作为一种动态、灵活的编程语言,其强大的元编程能力和简洁的语法使得它在构建工具领域备受青睐。 首先,我们要理解什么是构建。在Java...

    为什么要使用HAML和SASS

    在给定的文件列表中,我们看到有MIT-LICENSE、Rakefile等文件,这表明HAML和SASS可能是一个开源项目,遵循MIT许可证,Rakefile是Ruby项目中的构建文件,用于自动化任务。lib目录可能包含了HAML和SASS的库文件,tasks...

    Ruby-RakeRuby类似make的构建工具

    Ruby是一种面向对象的、动态的编程语言,以其简洁的语法和强大的功能赢得了开发者们的喜爱。Rake则是Ruby社区中一个非常重要的工具,它是一个构建自动化工具,类似于C++中的make或者Java中的Ant。Rake通过定义一系列...

    mikegriffin:我可以随意摇动并记住技术知识的地方

    "Rakefile"是Ruby编程语言中的一个构建工具,类似于其他语言的Makefile,它允许用户定义任务并自动化执行,比如构建、测试或者部署项目。 【描述】"来源 使用和Rakefile创建。 使用CSS,使用从提取其他html元素。...

    romanize:罗马数字转换编程练习

    创建一个简单的Rakefile ,它至少在您的语言命名空间(例如C:build )中包含一个build任务。 如果不满足依赖项,您应该检查环境并快速失败。 创建您的实现并从项目根目录运行rake 。 示例 Rakefile namespace :C ...

    关于Rails登录和验证插件http_authentication restful-authentication

    Rails是一个流行的Ruby编程语言的Web应用框架,以其MVC(模型-视图-控制器)架构模式和DRY(Don't Repeat Yourself)原则而闻名。在Rails应用中,用户认证和授权是常见的需求,用于保护应用资源的安全。...

    solaris 10 install oracle 10

    `CHANGELOG`记录了软件的更改历史,`LICENSE`包含软件的授权信息,`Rakefile`是Ruby编程语言的构建脚本,而`README`通常提供关于项目的基本信息和安装指南。如果这些文件属于Oracle 10的源码包,它们将帮助我们理解...

Global site tag (gtag.js) - Google Analytics