diff options
Diffstat (limited to 'maker.org')
-rw-r--r-- | maker.org | 98 |
1 files changed, 38 insertions, 60 deletions
@@ -16,57 +16,51 @@ ** settings [+2] :settings: *** alternative D compilers [+1] :compiler: **** dmd :dmd: -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :padline no :tangle makefile DMD=dmd DMD_FLAGS=-de -w DMD_FLAGS_RELEASE=-release DMD_FLAG_BINOF=-of +#+END_SRC -#+end_src **** ldc2 :ldc: -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :tangle makefile LDC=ldc2 LDC_FLAGS=-w LDC_FLAGS_RELEASE=-release LDC_FLAG_BINOF=-of= +#+END_SRC -#+end_src **** gdc :gdc: -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :tangle makefile GDC=gdc #GDC=gdc-5 GDC_FLAGS= GDC_FLAGS_RELEASE=-frelease GDC_FLAG_BINOF=-o +#+END_SRC -#+end_src *** 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: Set D_COMPILER one of DMD LDC or GDC e.g.: SET_D_COMPILER=DMD -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :tangle makefile # set D_COMPILER one of DMD LDC or GDC: SET_D_COMPILER=LDC +#+END_SRC -#+end_src **** 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 -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :tangle makefile SET_DC_FLAGS_DEBUG_EXTRA=-debug=headings -debug=bookindex +#+END_SRC -#+end_src *** D compiler settings [+1] :settings:compiler: **** compiler settings -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :tangle makefile DC=$($(SET_D_COMPILER)) DC_FLAGS=$($(shell echo $(SET_D_COMPILER)_FLAGS)) DC_FLAGS_RELEASE=$($(shell echo $(SET_D_COMPILER)_FLAGS_RELEASE)) @@ -74,11 +68,10 @@ DC_FLAG_BINOF=$($(shell echo $(SET_D_COMPILER)_FLAG_BINOF)) DC_FLAGS_DEBUG_DEFAULT_SET=-unittest -debug=checkdoc -debug=summary DC_FLAGS_DEBUG_SET=\ $(shell echo $(DC_FLAGS_DEBUG_DEFAULT_SET) $(SET_DC_FLAGS_DEBUG_EXTRA)) +#+END_SRC -#+end_src **** compiler conditional settings (depending on selected D compiler) -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :tangle makefile ifeq ($(DC), $(DMD)) DC_FLAGS_DEBUG :=$(shell echo $(DC_FLAGS_DEBUG_SET)) endif @@ -88,21 +81,19 @@ endif ifeq ($(DC), $(GDC)) DC_FLAGS_DEBUG :=$(shell echo $(DC_FLAGS_DEBUG_SET)| sed -e "s/-debug/-fdebug/g") endif +#+END_SRC -#+end_src *** Project Details :project:sdp: -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :tangle makefile PRG_NAME=sdp PRG_SRC=$(PRG_NAME).d PRG_SRCDIR=./lib PRG_BIN=$(PRG_NAME) PRG_BINDIR=bin +#+END_SRC -#+end_src *** Emacs Org settings :settings:emacs:org: -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :tangle makefile # ORG EMACSLISP=/usr/share/emacs/site-lisp EMACSLISP_ORG=~/.emacs.d/elpa/org-20151005 @@ -110,8 +101,8 @@ EMACSLISP_ORG_CONTRIB=~/.emacs.d/elpa/org-plus-contrib-20151005 ORGFILELIST=$(shell echo `ls -1 maker.org org/*.org`) ORGFILES="" ORGDIR=$(shell echo `pwd`) +#+END_SRC -#+end_src ** "make" commands [+2] :make:commands: - build commands - build @@ -130,8 +121,7 @@ ORGDIR=$(shell echo `pwd`) *** build commands [+1] **** build rebuild -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :tangle makefile all: build build: $(PRG_SRCDIR)/$(PRG_SRC) @@ -140,11 +130,10 @@ build: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_SRCDIR)/$(PRG_SRC) rebuild: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_BINDIR)/$(PRG_BIN).o clean build -#+end_src -**** debug -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+END_SRC +**** debug +#+BEGIN_SRC makefile :tangle makefile debug: $(PRG_SRCDIR)/$(PRG_SRC) $(DC) $(DC_FLAGS) $(DC_FLAGS_DEBUG) \ $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \ @@ -164,20 +153,18 @@ debug_gdc: $(PRG_SRCDIR)/$(PRG_SRC) $(GDC) $(GDC_FLAGS) $(GDC_FLAGS_DEBUG) \ $(GDC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \ $(PRG_SRCDIR)/$(PRG_SRC) -#+end_src -**** release -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+END_SRC +**** release +#+BEGIN_SRC makefile :tangle makefile release: distclean_and_init tangle $(PRG_SRCDIR)/$(PRG_SRC) $(DC) $(DC_FLAGS) $(DC_FLAGS_RELEASE) \ $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \ $(PRG_SRCDIR)/$(PRG_SRC) +#+END_SRC -#+end_src *** init clean distclean etc. -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :tangle makefile init: mkdir -p $(PRG_SRCDIR); \ mkdir -p $(PRG_BINDIR); @@ -194,11 +181,10 @@ distclean: init $(PRG_BINDIR) expunge distclean_and_init: init $(PRG_BINDIR) expunge mkdir -p $(PRG_SRCDIR); \ mkdir -p $(PRG_BINDIR); +#+END_SRC -#+end_src *** Org Babel Tangle batch process command -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :tangle makefile tangle: for f in $(ORGFILELIST); do \ ORGFILES="$$ORGFILES \"$$f\""; \ @@ -217,27 +203,26 @@ tangle: (setq-local org-src-preserve-indentation t) \ (org-babel-tangle) \ (kill-buffer)) '($$ORGFILES)))" 2>&1 +#+END_SRC -#+end_src *** Git snapshot -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :tangle makefile gitsnapshot: distclean_and_init tangle git commit -a +#+END_SRC -#+end_src ** phony -#+name: makefile_maker -#+BEGIN_SRC makefile :exports none +#+BEGIN_SRC makefile :tangle makefile .PHONY : all build rebuild debug release \ clean distclean init \ tangle +#+END_SRC -#+end_src * 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) -#+BEGIN_SRC sh :tangle tangle :tangle-mode (identity #o755) :shebang #!/bin/sh + +#+BEGIN_SRC sh :tangle tangle :padline no :tangle-mode (identity #o755) :shebang #!/bin/sh # -*- mode: shell-script -*- # tangle files with org-mode DIR=`pwd` @@ -247,7 +232,7 @@ EMACSLISP_ORG=~/.emacs.d/elpa/org-20151005 EMACSLISP_ORG_CONTRIB=~/.emacs.d/elpa/org-plus-contrib-20151005 # wrap each argument in the code required to call tangle on it for i in $@; do - ORGFILES="$ORGFILES \"$i\"" + ORGFILES="$ORGFILES \"$i\"" done emacs --batch -Q -q \ --eval "(progn @@ -260,11 +245,4 @@ emacs --batch -Q -q \ (setq-local org-src-preserve-indentation t) (org-babel-tangle) (kill-buffer)) '($ORGFILES)))" 2>&1 #|grep tangled -#+end_src - -* tangle :tangle: -** makefile: :makefile: -#+name: tangle_ao_rgx -#+BEGIN_SRC makefile :tangle makefile :exports none :noweb yes -<<makefile_maker>> -#+end_src +#+END_SRC |