diff options
Diffstat (limited to 'maker.org')
-rw-r--r-- | maker.org | 39 |
1 files changed, 29 insertions, 10 deletions
@@ -3,20 +3,20 @@ #+EMAIL: ralph.amissah@gmail.com #+STARTUP: indent #+LANGUAGE: en -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc #+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+OPTIONS: ^:nil _:nil#+OPTIONS: ^:nil _:nil #+EXPORT_SELECT_TAGS: export #+EXPORT_EXCLUDE_TAGS: noexport -#+FILETAGS: :sdp_dev:makefile: +#+FILETAGS: :sdp:rel:makefile: #+TAGS: assert(a) class(c) debug(d) mixin(m) sdp(s) tangle(T) template(t) WEB(W) noexport(n) * sdp makefile -[[./org/sdp.org][sdp.org]] +[[./org/sdp.org][sdp.org]] [[./org/][org/]] ** settings [+2] :settings: *** alternative D compilers [+1] :compiler: **** dmd :dmd: + #+BEGIN_SRC makefile :padline no :tangle makefile DMD=dmd DMD_FLAGS=-de -w @@ -25,6 +25,7 @@ DMD_FLAG_BINOF=-of #+END_SRC **** ldc2 :ldc: + #+BEGIN_SRC makefile :tangle makefile LDC=ldc2 LDC_FLAGS=-w @@ -33,6 +34,7 @@ LDC_FLAG_BINOF=-of= #+END_SRC **** gdc :gdc: + #+BEGIN_SRC makefile :tangle makefile GDC=gdc #GDC=gdc-5 @@ -41,13 +43,15 @@ GDC_FLAGS_RELEASE=-frelease GDC_FLAG_BINOF=-o #+END_SRC -*** set/select: ~D compiler~ & ~debug flags~ [+1] [2/2] :select: +*** TODO set/select: ~D compiler~ & ~debug flags~ [+1] [2/2] :select: - [X] Set D_COMPILER (one of DMD LDC or GDC) - [X] Set debug flags (using DMD standard flag -debug=) + **** SET compiler: "SET_D_COMPILER=": :compiler:select: [[http://wiki.dlang.org/Compilers][D Compilers wiki]] [[http://dlang.org/download.html][D Compilers download]] Set D_COMPILER one of DMD LDC or GDC e.g.: SET_D_COMPILER=DMD + #+BEGIN_SRC makefile :tangle makefile # SET_D_COMPILER=(one of: DMD LDC or GDC): SET_D_COMPILER=LDC @@ -56,12 +60,14 @@ SET_D_COMPILER=LDC **** SET debug flags: "SET_DC_FLAGS_DEBUG_EXTRA=-debug=": :compiler:flags:debug: Set debug flags using DMD standard flag -debug= e.g.: SET_DC_FLAGS_DEBUG_EXTRA=-debug=headings -debug=bookindex + #+BEGIN_SRC makefile :tangle makefile SET_DC_FLAGS_DEBUG_EXTRA=-debug=headings -debug=footnotes -debug=endnotes #+END_SRC *** D compiler settings [+1] :settings:compiler: **** compiler settings + #+BEGIN_SRC makefile :tangle makefile DC=$($(SET_D_COMPILER)) DC_FLAGS=$($(shell echo $(SET_D_COMPILER)_FLAGS)) @@ -73,6 +79,7 @@ DC_FLAGS_DEBUG_SET=\ #+END_SRC **** compiler conditional settings (depending on selected D compiler) + #+BEGIN_SRC makefile :tangle makefile ifeq ($(DC), $(DMD)) DC_FLAGS_DEBUG :=$(shell echo $(DC_FLAGS_DEBUG_SET)) @@ -86,6 +93,7 @@ endif #+END_SRC *** Project Details :project:sdp: + #+BEGIN_SRC makefile :tangle makefile PRG_NAME=sdp PRG_SRC=$(PRG_NAME).d @@ -94,7 +102,8 @@ PRG_BIN=$(PRG_NAME) PRG_BINDIR=bin #+END_SRC -*** Emacs Org settings :settings:emacs:org: +*** Emacs Org settings :settings:emacs:org:tangle: + #+BEGIN_SRC makefile :tangle makefile # ORG EMACSLISP=/usr/share/emacs/site-lisp @@ -121,8 +130,9 @@ ORGDIR=$(shell echo `pwd`) - git snapshot - gitsnapshot -*** build commands [+1] +*** build commands [+1] :build:compile: **** build rebuild + #+BEGIN_SRC makefile :tangle makefile all: build @@ -135,6 +145,7 @@ rebuild: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_BINDIR)/$(PRG_BIN).o clean build #+END_SRC **** debug + #+BEGIN_SRC makefile :tangle makefile debug: $(PRG_SRCDIR)/$(PRG_SRC) $(DC) $(DC_FLAGS) $(DC_FLAGS_DEBUG) \ @@ -158,6 +169,7 @@ debug_gdc: $(PRG_SRCDIR)/$(PRG_SRC) #+END_SRC **** release + #+BEGIN_SRC makefile :tangle makefile release: distclean_and_init tangle $(PRG_SRCDIR)/$(PRG_SRC) $(DC) $(DC_FLAGS) $(DC_FLAGS_RELEASE) \ @@ -165,7 +177,8 @@ release: distclean_and_init tangle $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_SRCDIR)/$(PRG_SRC) #+END_SRC -*** init clean distclean etc. +*** init clean distclean etc. :clean: + #+BEGIN_SRC makefile :tangle makefile init: mkdir -p $(PRG_SRCDIR); \ @@ -185,7 +198,8 @@ distclean_and_init: init $(PRG_BINDIR) expunge mkdir -p $(PRG_BINDIR); #+END_SRC -*** Org Babel Tangle batch process command +*** Org Babel Tangle batch process command :tangle: + #+BEGIN_SRC makefile :tangle makefile tangle: for f in $(ORGFILELIST); do \ @@ -208,12 +222,14 @@ tangle: #+END_SRC *** Git snapshot + #+BEGIN_SRC makefile :tangle makefile gitsnapshot: distclean_and_init tangle git commit -a #+END_SRC ** phony + #+BEGIN_SRC makefile :tangle makefile .PHONY : all build rebuild debug release \ clean distclean init \ @@ -222,7 +238,10 @@ gitsnapshot: distclean_and_init tangle * sh script to batch process emacs org babel tangle :shell_script:tangle: [http://orgmode.org/manual/Batch-execution.html] -creates a shell batch script called "tangle", that will tangle (emacs org babel tangle) org files in ./org/ to create .d source files in ./lib/sdp/ (similar functionality is contained within the "makefile" created by this "maker.org" file make tangle) +creates a shell batch script called "tangle", that will tangle (emacs org +babel tangle) org files in ./org/ to create .d source files in ./lib/sdp/ +(similar functionality is contained within the "makefile" created by this +"maker.org" file make tangle) #+BEGIN_SRC sh :tangle tangle :padline no :tangle-mode (identity #o755) :shebang #!/bin/sh # -*- mode: shell-script -*- |