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 | 
