aboutsummaryrefslogtreecommitdiffhomepage
path: root/maker.org
diff options
context:
space:
mode:
Diffstat (limited to 'maker.org')
-rw-r--r--maker.org737
1 files changed, 200 insertions, 537 deletions
diff --git a/maker.org b/maker.org
index 5565925..4a03a28 100644
--- a/maker.org
+++ b/maker.org
@@ -15,174 +15,20 @@
[[./org/sdp.org][sdp.org]] [[./org/][org/]]
* sdp makefile :makefile:
-** TODO settings [+2] :settings:
-*** git version stamp
+** settings [+2] :settings:
+*** git version stamp :git:version:
#+BEGIN_SRC makefile :tangle makefile
PROJECT_VERSION :=$(shell echo `git describe --long --tags | sed -e "s/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g"`)
#+END_SRC
-*** alternative D compilers (dmd/ldc2/gdc) [+1] :compiler:
-
-http://dlang.org/download.html
-https://wiki.dlang.org/Compilers
-
-**** dmd [#A] :dmd:
-
-http://dlang.org/
-
-#+BEGIN_SRC makefile :tangle makefile
-DMD=dmd
-DMD_FLAGS=-de -w -J./views -I./src/sdp -linker=ld.gold
-DMD_FLAGS_RELEASE=-O -inline -release
-DMD_FLAG_BINOF=-of
-#+END_SRC
-
-**** ldc2 [#A] :ldc:
-
-https://github.com/ldc-developers/ldc
-
-#+BEGIN_SRC makefile :tangle makefile
-LDC=ldc2
-LDC_FLAGS=-w -J=views -I=src/sdp -linker=ld.gold
-LDC_FLAGS_RELEASE=-O4 -inline -release
-LDC_FLAG_BINOF=-of=
-#+END_SRC
-
-**** TODO gdc :gdc:
-
-#+BEGIN_SRC makefile :tangle makefile
-GDC=gdc
-GDC_FLAGS=
-GDC_FLAGS_RELEASE=-march=native -O3 -pipe -frelease
-GDC_FLAG_BINOF=-o
-#+END_SRC
-
-*** build tools (dub/rdmd) [+1] :build:tool:
-**** rdmd :rdmd:
-
-#+BEGIN_SRC makefile :tangle makefile
-RDMD=rdmd
-RDMD_FLAGS=--build-only --compiler=
-#+END_SRC
-
-**** dub [#A] :dub:
+*** dub (build tool) :dub:
#+BEGIN_SRC makefile :tangle makefile
DUB=dub
DUB_FLAGS=-v --force --compiler=
#+END_SRC
-*** TODO [#A] 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=)
-
-**** TODO 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
-#+END_SRC
-
-**** TODO 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
- SET_DC_FLAGS_DEBUG_EXTRA=-debug=headings -debug=footnotes -debug=endnotes
- SET_DC_FLAGS_DEBUG_EXTRA=-debug=headings -debug=biblio
-
-#+BEGIN_SRC makefile :tangle makefile
-SET_DC_FLAGS_DEBUG_EXTRA=-debug=dumpdoc
-#+END_SRC
-
-***** debug flags
-
-Set debug flags using DMD standard flag -debug= e.g.:
- SET_DC_FLAGS_DEBUG_EXTRA=-debug=dumpdoc
- SET_DC_FLAGS_DEBUG_EXTRA=-debug=headings -debug=bookindex
- SET_DC_FLAGS_DEBUG_EXTRA=-debug=headings -debug=biblio
- SET_DC_FLAGS_DEBUG_EXTRA=-debug=code
-
- biblio
- biblio_sorted
- bibliosorted
- block
- bookindex
- bookindexmatch
- bookindexraw
- check
- checkdoc
- code
- comment
- dumpdoc write out document contents, with object type and ocn
- endnotes
- endnotes_build
- footnotes
- footnotesdone
- group
- header
- header_and_content
- header1
- headerjson
- headermakejson
- headermetadatajson
- heading
- headings
- headingsfound
- insert
- munge
- node
- objectrelated1
- objectrelated2
- objects
- ocnoff
- para
- parabullet
- parabulletindent
- paraindent
- paraindenthang
- parent
- poem
- quote
- raw
- sdlang
- source
- srclines
- structattrib
- summary
- table
- toc
-
-*** 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))
-DC_FLAGS_RELEASE=$($(shell echo $(SET_D_COMPILER)_FLAGS_RELEASE))
-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
-
-**** 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))
-endif
-ifeq ($(DC) ,$(LDC))
- DC_FLAGS_DEBUG :=$(shell echo $(DC_FLAGS_DEBUG_SET)| sed -e "s/-debug=/-d-debug=/g")
-endif
-ifeq ($(DC), $(GDC))
- DC_FLAGS_DEBUG :=$(shell echo $(DC_FLAGS_DEBUG_SET)| sed -e "s/-debug/-fdebug/g")
-endif
-DUB_FLAGS_DEBUG :=$(shell echo $(DC_FLAGS_DEBUG_SET)| sed -e "s/-debug/--debug/g"| sed -e "s/-unittest//g")
-#+END_SRC
-
*** Project Details :project:sdp:
#+BEGIN_SRC makefile :tangle makefile
@@ -197,17 +43,18 @@ PRG_DOCDIR=./docs
*** Emacs Org settings :settings:emacs:org:tangle:
#+BEGIN_SRC makefile :tangle makefile
-# ORG
-ORG_VERSION=20161214
EMACSLISP=/usr/share/emacs/site-lisp
-EMACSLISP_ORG=~/.emacs.d/elpa/org-$($(shell echo $(ORG_VERSION)))
-EMACSLISP_ORG_CONTRIB=~/.emacs.d/elpa/org-plus-contrib-$($(shell echo $(ORG_VERSION)))
+ORG_VER_AVAILABLE=$(shell echo `ls -d ~/.emacs.d/elpa/org-???????? | cut -d '-' -f2`)
+EMACSLISP_ORG=~/.emacs.d/elpa/org-$($(shell echo $(ORG_VER_AVAILABLE)))
+ORG_CONTRIB_VER_AVAILABLE=$(shell echo `ls -d ~/.emacs.d/elpa/org-plus-???????? | cut -d '-' -f2`)
+EMACSLISP_ORG_CONTRIB=~/.emacs.d/elpa/org-plus-contrib-$($(shell echo $(ORG_CONTRIB_VER_AVAILABLE)))
ORGFILELIST=$(shell echo `ls -1 maker.org org/*.org`)
ORGFILES=""
ORGDIR=$(shell echo `pwd`)
#+END_SRC
-** "make" commands [+2] :make:commands:
+** _make_ commands [+2] :make:commands:
+
- build commands
- build
- debug
@@ -224,101 +71,81 @@ ORGDIR=$(shell echo `pwd`)
- gitsnapshot
*** build commands [+1] :build:compile:
-**** tangle build rebuild
-
+**** _dub_ build rebuild :dub:
+***** all compiler builds :all:dmd:gdc:ldc:
+****** all builds
+******* quick :quick:
+******** default :default:
#+BEGIN_SRC makefile :tangle makefile
-all: tangle build
+all: dmd ldc gdc
+#+END_SRC
-build: $(PRG_SRCDIR)/$(PRG_SRC)
- $(DC) $(DC_FLAGS) \
- $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
- $(PRG_SRCDIR)/$(PRG_SRC)
+******** version :version:
-rebuild: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_BINDIR)/$(PRG_BIN).o clean build
+#+BEGIN_SRC makefile :tangle makefile
+all_ver: dmd_ver ldc_ver gdc_ver
+#+END_SRC
-makefile_new:
- make -k tangle_maker
+******** debug :debug:
+
+#+BEGIN_SRC makefile :tangle makefile
+all_debug: dmd_debug gdc_debug ldc_debug
#+END_SRC
-**** _dub_ build rebuild [#A] :dub:
-***** generic
+******* clean & tangle :clean:tangle:
+******** default :default:
#+BEGIN_SRC makefile :tangle makefile
-dub: $(PRG_SRCDIR)/$(PRG_SRC)
- $(DUB) $(DUB_FLAGS)$(DC)
-debug_dub: $(PRG_SRCDIR)/$(PRG_SRC)
- $(DUB) $(DUB_FLAGS)$(DC) $(DUB_FLAGS_DEBUG)
+all_clean: clean tangle dmd ldc gdc
#+END_SRC
+******** version :version:
+
#+BEGIN_SRC makefile :tangle makefile
-all_builds_quick:
- $(DUB) --compiler=dmd --config=sdp-dmd-version
- mv bin/sdp-dmd-ver bin/sdp-$(PROJECT_VERSION)-dmd
- $(DUB) --compiler=ldc2 --config=sdp-ldc-version
- mv bin/sdp-ldc-ver bin/sdp-$(PROJECT_VERSION)-ldc
- $(DUB) --compiler=gdc --config=sdp-gdc-version
- mv bin/sdp-gdc-ver bin/sdp-$(PROJECT_VERSION)-gdc
+all_ver_clean: clean tangle dmd_ver ldc_ver gdc_ver
#+END_SRC
+******** debug :debug:
+
#+BEGIN_SRC makefile :tangle makefile
-all_builds_quick_release:
- $(DUB) --compiler=dmd --config=sdp-dmd-version
- mv bin/sdp-dmd-ver bin/sdp-$(PROJECT_VERSION)-dmd
- $(DUB) --compiler=ldc2 --config=sdp-ldc-version
- mv bin/sdp-ldc-ver bin/sdp-$(PROJECT_VERSION)-ldc
- $(DUB) --compiler=gdc --config=sdp-gdc-version
- mv bin/sdp-gdc-ver bin/sdp-$(PROJECT_VERSION)-gdc
+all_debug_ver: dmd_debug_ver gdc_debug_ver ldc_debug_ver
+all_debug_clean_ver: clean tangle dmd_debug_ver gdc_debug_ver ldc_debug_ver
#+END_SRC
+***** individual compiler builds :each:
+****** dmd :dmd:
+******* quick :quick:
+******** default :default:
+
#+BEGIN_SRC makefile :tangle makefile
-all_builds: clean skel tangle
- $(DUB) --compiler=dmd --config=sdp-dmd-version
- mv bin/sdp-dmd-ver bin/sdp-$(PROJECT_VERSION)-dmd
- $(DUB) --compiler=ldc2 --config=sdp-ldc-version
- mv bin/sdp-ldc-ver bin/sdp-$(PROJECT_VERSION)-ldc
- $(DUB) --compiler=gdc --config=sdp-gdc-version
- mv bin/sdp-gdc-ver bin/sdp-$(PROJECT_VERSION)-gdc
+dmd:
+ $(DUB) --compiler=dmd --config=sdp-dmd
#+END_SRC
+******** version :version:
+
#+BEGIN_SRC makefile :tangle makefile
-all_builds_debug: clean skel tangle
- $(DUB) --compiler=dmd --config=sdp-dmd-debug-version
- mv bin/sdp-dmd-debug-ver bin/sdp-$(PROJECT_VERSION)-dmd-debug
- $(DUB) --compiler=ldc2 --config=sdp-ldc-debug-version
- mv bin/sdp-ldc-debug-ver bin/sdp-$(PROJECT_VERSION)-ldc-debug
- $(DUB) --compiler=gdc --config=sdp-gdc-debug-version
- mv bin/sdp-gdc-debug-ver bin/sdp-$(PROJECT_VERSION)-gdc-debug
+dmd_ver:
+ $(DUB) --compiler=dmd --config=sdp-dmd-version
+ mv bin/sdp-dmd-ver bin/sdp-dmd-$(PROJECT_VERSION)
+ notify-send -t 0 'D dmd compiled test release executable ready' 'sdp-dmd-$(PROJECT_VERSION)'
#+END_SRC
+******** debug :debug:
+
#+BEGIN_SRC makefile :tangle makefile
-ver:
- echo sdp-$(PROJECT_VERSION)
+dmd_debug:
+ $(DUB) --compiler=dmd --config=sdp-dmd-debug
#+END_SRC
-***** dmd
+******* clean & tangle :clean:tangle:
#+BEGIN_SRC makefile :tangle makefile
-# dmd
dmd_rel: expunge skel tangle
$(DUB) --compiler=dmd --config=sdp-release
-dmd_stamp:
- $(DUB) --compiler=dmd --config=sdp-dmd
-dmd_ver:
- $(DUB) --compiler=dmd --config=sdp-dmd
- mv bin/sdp-dmd bin/sdp-dmd-$(PROJECT_VERSION)
-dmd_release: expunge skel tangle
- $(DUB) --compiler=dmd --config=sdp-release
-dmd_release_stamp:
- $(DUB) --compiler=dmd --config=sdp-dmd
-dmd_release_stamp_version:
- $(DUB) --compiler=dmd --config=sdp-dmd
- mv bin/sdp-dmd bin/sdp-dmd-$(PROJECT_VERSION)
-dmd_release_tangle: tangle
+dmd_rel_tangle: tangle
$(DUB) --compiler=dmd --config=sdp-dmd
-dmd_release_expunge_tangle: expunge skel tangle
- $(DUB) --compiler=dmd --config=sdp-dmd
-dmd_debug:
- $(DUB) --compiler=dmd --config=sdp-dmd-debug
+dmd_rel_expunge_tangle: expunge skel tangle dmd_rel_tangle
dmd_debug_tangle: tangle
$(DUB) --compiler=dmd --config=sdp-dmd-debug
dmd_debug_docs: clean_docs tangle
@@ -327,160 +154,111 @@ dmd_debug_unittest: tangle
$(DUB) --compiler=dmd --config=sdp-dmd-debug-unittest
dmd_debug_clean: tangle
$(DUB) --compiler=dmd --config=sdp-debug-clean
-dmd_debug_src:
- $(DUB) --compiler=dmd --config=sdp-debug
+dmd_debug_ver:
+ $(DUB) --compiler=dmd --config=sdp-dmd-debug-version
+ mv bin/sdp-dmd-debug-ver bin/sdp-dmd-debug-$(PROJECT_VERSION)
+ notify-send -t 0 'D dmd compiled test release executable ready' 'sdp-dmd-debug-$(PROJECT_VERSION)'
+dmd_debug_clean_ver: clean tangle dmd_debug_clean_ver
#+END_SRC
-***** gdc
+****** gdc :gdc:
+******* quick :quick:
+******** default :default:
#+BEGIN_SRC makefile :tangle makefile
-# gdc
-gdc_release: expunge skel tangle
- $(DUB) --compiler=gdc --config=sdp-release
-gdc_release_stamp:
- $(DUB) --compiler=gdc --config=sdp-gdc
-gdc_release_stamp_version:
- $(DUB) --compiler=gdc --config=sdp-gdc
- mv bin/sdp-gdc bin/sdp-gdc-$(PROJECT_VERSION)
-gdc_release_tangle: tangle
+gdc:
$(DUB) --compiler=gdc --config=sdp-gdc
-gdc_release_expunge_tangle: expunge skel tangle
- $(DUB) --compiler=gdc --config=sdp-gdc
-gdc_debug:
- $(DUB) --compiler=gdc --config=sdp-gdc-debug
-gdc_debug_tangle: tangle
- $(DUB) --compiler=gdc --config=sdp-gdc-debug
-gdc_debug_docs: clean_docs tangle
- $(DUB) --compiler=gdc --config=sdp-gdc-debug-docs
-gdc_debug_unittest: tangle
- $(DUB) --compiler=gdc --config=sdp-gdc-debug-unittest
-gdc_debug_clean: tangle
- $(DUB) --compiler=gdc --config=sdp-debug-clean
-gdc_debug_src:
- $(DUB) --compiler=gdc --config=sdp-debug
#+END_SRC
-***** ldc
+******** version :version:
#+BEGIN_SRC makefile :tangle makefile
-# ldc2
-ldc_rel: expunge skel tangle
- $(DUB) --compiler=ldc2 --config=sdp-release
-ldc_stamp:
- $(DUB) --compiler=ldc2 --config=sdp-ldc
-ldc_ver:
- $(DUB) --compiler=ldc2 --config=sdp-ldc
- mv bin/sdp-ldc bin/sdp-ldc-$(PROJECT_VERSION)
-ldc_release: expunge skel tangle
- $(DUB) --compiler=ldc2 --config=sdp-release
-ldc_release_stamp:
- $(DUB) --compiler=ldc2 --config=sdp-ldc
-ldc_release_stamp_version:
- $(DUB) --compiler=ldc2 --config=sdp-ldc
- mv bin/sdp-ldc bin/sdp-ldc-$(PROJECT_VERSION)
-ldc_release_tangle: tangle
- $(DUB) --compiler=ldc2 --config=sdp-ldc
-ldc_release_expunge_tangle: expunge skel tangle
- $(DUB) --compiler=ldc2 --config=sdp-ldc
-ldc_debug:
- $(DUB) --compiler=ldc2 --config=sdp-ldc-debug
-ldc_debug_tangle: tangle
- $(DUB) --compiler=ldc2 --config=sdp-ldc-debug
-ldc_debug_docs: clean_docs tangle
- $(DUB) --compiler=ldc2 --config=sdp-ldc-debug-docs
-ldc_debug_unittest: tangle
- $(DUB) --compiler=ldc2 --config=sdp-ldc-debug-unittest
-ldc_debug_clean: tangle
- $(DUB) --compiler=ldc2 --config=sdp-debug-clean
-ldc_debug_src:
- $(DUB) --compiler=ldc2 --config=sdp-debug
+gdc_ver:
+ $(DUB) --compiler=gdc --config=sdp-gdc-version
+ mv bin/sdp-gdc-ver bin/sdp-gdc-$(PROJECT_VERSION)
+ notify-send -t 0 'D gdc compiled test release executable ready' 'sdp-gdc-$(PROJECT_VERSION)'
#+END_SRC
-***** test releases
+******** debug :debug:
#+BEGIN_SRC makefile :tangle makefile
-dmd_release_test: tangle dmd_test_release
-ldc_release_test: tangle ldc_test_release
+gdc_debug:
+ $(DUB) --compiler=gdc --config=sdp-gdc-debug
#+END_SRC
-**** rdmd build rebuild :rdmd:
+******* clean & tangle :clean:tangle:
#+BEGIN_SRC makefile :tangle makefile
-rdmd: $(PRG_SRCDIR)/$(PRG_SRC)
- $(RDMD) $(RDMD_FLAGS)$(DC) $(DC_FLAGS) \
- $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
- $(PRG_SRCDIR)/$(PRG_NAME)/$(PRG_SRC)
+gdc_rel: expunge skel tangle
+ $(DUB) --compiler=gdc --config=sdp-release
+gdc_rel_tangle: tangle
+ $(DUB) --compiler=gdc --config=sdp-gdc
+gdc_rel_expunge_tangle: expunge skel tangle gdc_rel_tangle
+gdc_debug_tangle: tangle
+ $(DUB) --compiler=gdc --config=sdp-gdc-debug
+gdc_debug_docs: clean_docs tangle
+ $(DUB) --compiler=gdc --config=sdp-gdc-debug-docs
+gdc_debug_unittest: tangle
+ $(DUB) --compiler=gdc --config=sdp-gdc-debug-unittest
+gdc_debug_clean: tangle
+ $(DUB) --compiler=gdc --config=sdp-debug-clean
+gdc_debug_ver:
+ $(DUB) --compiler=gdc --config=sdp-dmd-debug-version
+ mv bin/sdp-gdc-debug-ver bin/sdp-gdc-debug-$(PROJECT_VERSION)
+ notify-send -t 0 'D gdc compiled test release executable ready' 'sdp-gdc-debug-$(PROJECT_VERSION)'
+gdc_debug_clean_ver: clean tangle gdc_debug_ver
#+END_SRC
-**** build debug :debug:
-***** debug
+****** ldc :ldc:
+******* quick :quick:
+******** default :default:
#+BEGIN_SRC makefile :tangle makefile
-debug: $(PRG_SRCDIR)/$(PRG_SRC)
- $(DC) $(DC_FLAGS) $(DC_FLAGS_DEBUG) \
- $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
- $(PRG_SRCDIR)/$(PRG_SRC)
-
-debug_dmd: $(PRG_SRCDIR)/$(PRG_SRC)
- $(DMD) $(DMD_FLAGS) $(DMD_FLAGS_DEBUG) \
- $(DMD_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
- $(PRG_SRCDIR)/$(PRG_SRC)
-
-debug_ldc: $(PRG_SRCDIR)/$(PRG_SRC)
- $(LDC) $(LDC_FLAGS) $(LDC_FLAGS_DEBUG) \
- $(LDC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
- $(PRG_SRCDIR)/$(PRG_SRC)
-
-debug_gdc: $(PRG_SRCDIR)/$(PRG_SRC)
- $(GDC) $(GDC_FLAGS) $(GDC_FLAGS_DEBUG) \
- $(GDC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
- $(PRG_SRCDIR)/$(PRG_SRC)
+ldc:
+ $(DUB) --compiler=ldc2 --config=sdp-ldc
#+END_SRC
-***** debug rdmd
+******** version :version:
#+BEGIN_SRC makefile :tangle makefile
-debug_rdmd: $(PRG_SRCDIR)/$(PRG_SRC)
- $(RDMD) $(RDMD_FLAGS)$(DC) $(DC_FLAGS) $(DC_FLAGS_DEBUG) \
- $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
- $(PRG_SRCDIR)/$(PRG_NAME)/$(PRG_SRC)
-
-debug_rdmd_dmd: $(PRG_SRCDIR)/$(PRG_SRC)
- $(RDMD) $(RDMD_FLAGS)$(DMD) $(DC_FLAGS) $(DC_FLAGS_DEBUG) \
- $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
- $(PRG_SRCDIR)/$(PRG_NAME)/$(PRG_SRC)
-
-debug_rdmd_ldc: $(PRG_SRCDIR)/$(PRG_SRC)
- $(RDMD) $(RDMD_FLAGS)$(LDC) $(DC_FLAGS) $(LDC_FLAGS_DEBUG) \
- $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
- $(PRG_SRCDIR)/$(PRG_NAME)/$(PRG_SRC)
-
-debug_rdmd_gdc: $(PRG_SRCDIR)/$(PRG_SRC)
- $(RDMD) $(RDMD_FLAGS)$(GDC) $(DC_FLAGS) $(GDC_FLAGS_DEBUG) \
- $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
- $(PRG_SRCDIR)/$(PRG_NAME)/$(PRG_SRC)
+ldc_ver:
+ $(DUB) --compiler=ldc2 --config=sdp-ldc-version
+ mv bin/sdp-ldc-ver bin/sdp-ldc-$(PROJECT_VERSION)
+ notify-send -t 0 'D ldc2 compiled test release executable ready' 'sdp-ldc-$(PROJECT_VERSION)'
#+END_SRC
-**** build release :release:
-***** release
+******** debug :debug:
#+BEGIN_SRC makefile :tangle makefile
-release: distclean tangle $(PRG_SRCDIR)/$(PRG_SRC)
- $(DC) $(DC_FLAGS) $(DC_FLAGS_RELEASE) \
- $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
- $(PRG_SRCDIR)/$(PRG_SRC)
+ldc_debug:
+ $(DUB) --compiler=ldc2 --config=sdp-ldc-debug
#+END_SRC
-***** release rdmd
+******* clean & tangle :clean:tangle:
#+BEGIN_SRC makefile :tangle makefile
-release_rdmd: distclean tangle $(PRG_SRCDIR)/$(PRG_SRC)
- $(RDMD) $(RDMD_FLAGS)$(DC) $(DC_FLAGS) $(DC_FLAGS_RELEASE) \
- $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
- $(PRG_SRCDIR)/$(PRG_SRC)
+ldc_rel: expunge skel tangle
+ $(DUB) --compiler=ldc2 --config=sdp-release
+ldc_rel_tangle: tangle
+ $(DUB) --compiler=ldc2 --config=sdp-ldc
+ldc_rel_expunge_tangle: expunge skel tangle ldc_rel_tangle
+ldc_debug_tangle: tangle
+ $(DUB) --compiler=ldc2 --config=sdp-ldc-debug
+ldc_debug_docs: clean_docs tangle
+ $(DUB) --compiler=ldc2 --config=sdp-ldc-debug-docs
+ldc_debug_unittest: tangle
+ $(DUB) --compiler=ldc2 --config=sdp-ldc-debug-unittest
+ldc_debug_clean: tangle
+ $(DUB) --compiler=ldc2 --config=sdp-debug-clean
+ldc_debug_ver:
+ $(DUB) --compiler=ldc2 --config=sdp-ldc-debug-version
+ mv bin/sdp-ldc-debug-ver bin/sdp-ldc-debug-$(PROJECT_VERSION)
+ notify-send -t 0 'D ldc2 compiled test release executable ready' 'sdp-ldc-debug-$(PROJECT_VERSION)'
+ldc_debug_clean_ver: clean tangle ldc_debug_ver
#+END_SRC
-*** init clean distclean etc. :clean:
+***** generic
+****** init clean distclean etc. :clean:
#+BEGIN_SRC makefile :tangle makefile
skel:
@@ -489,37 +267,51 @@ skel:
mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/output; \
mkdir -p $(PRG_SRCDIR)/$(PRG_NAME); \
mkdir -p $(PRG_BINDIR);
-
init: skel
-
clean:
rm -rf $(PRG_SRCDIR); \
rm -rf $(PRG_DOCDIR);
-
clean_bin:
rm $(PRG_BINDIR)/*
-
clean_src:
rm -rf $(PRG_SRCDIR);
-
clean_docs:
rm -rf $(PRG_DOCDIR)
-
expunge:
rm -f dub.selections.json; \
rm -rf $(PRG_SRCDIR); \
rm -rf $(PRG_BINDIR); \
rm -rf $(PRG_DOCDIR);
-
distclean: expunge
-
distclean_and_init: expunge
mkdir -p $(PRG_SRCDIR)/$(PRG_NAME); \
mkdir -p $(PRG_BINDIR);
#+END_SRC
-*** Org Babel Tangle batch process command :tangle:
+****** version :version:
+
+#+BEGIN_SRC makefile :tangle makefile
+ver:
+ echo sdp-$(PROJECT_VERSION)
+#+END_SRC
+
+****** tangle build rebuild :clean:tangle:build:
+
+#+BEGIN_SRC makefile :tangle makefile
+clean_tangle_build: clean tangle build
+tangle_build: tangle build
+build: $(PRG_SRCDIR)/$(PRG_SRC)
+ $(DC) $(DC_FLAGS) \
+ $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
+ $(PRG_SRCDIR)/$(PRG_SRC)
+rebuild: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_BINDIR)/$(PRG_BIN).o clean build
+makefile_new:
+ make -k tangle_maker
+#+END_SRC
+
+*** org babel tangle batch process command :tangle:
**** tangle: org babel tangle *.org
+
#+BEGIN_SRC makefile :tangle makefile
tangle: skel
for f in $(ORGFILELIST); do \
@@ -542,6 +334,7 @@ tangle: skel
#+END_SRC
**** tangle maker: org babel tangle maker.org, makefile new
+
#+BEGIN_SRC makefile :tangle makefile
tangle_maker:
for f in $(ORGFILELIST); do \
@@ -563,7 +356,7 @@ tangle_maker:
(kill-buffer)) '($$ORGFILES)))" 2>&1
#+END_SRC
-*** Git snapshot
+*** git snapshot
#+BEGIN_SRC makefile :tangle makefile
gitsnapshot: distclean tangle
@@ -578,11 +371,11 @@ gitsnapshot: distclean tangle
tangle gitsnapshot
#+END_SRC
-* dub (configuration) :dub:
+* dub (configuration) :dub:config:
Every DUB package should contain a [[http://code.dlang.org/package-format?lang=json][dub.json]] (or [[http://code.dlang.org/package-format?lang=sdl][dub.sdl]])
-** dub.sdl [#A] :sdl:
+** dub.sdl :sdl:sdp:
*** header :header:
#+BEGIN_SRC sh :tangle dub.sdl
@@ -603,7 +396,7 @@ dependency "archive" version="~>0.6.0"
#+END_SRC
*** generic :generic:
-**** sdp-release (sdp)
+**** sdp-release (sdp) :release:
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-release" {
@@ -617,7 +410,7 @@ configuration "sdp-release" {
}
#+END_SRC
-**** sdp-debug
+**** sdp-debug :debug:
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-debug" {
@@ -635,7 +428,7 @@ configuration "sdp-debug" {
}
#+END_SRC
-**** sdp-debug-clean
+**** sdp-debug-clean :debug:clean:
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-debug-clean" {
@@ -649,8 +442,8 @@ configuration "sdp-debug-clean" {
}
#+END_SRC
-*** dmd [#A] :dmd:
-**** sdp-dmd
+*** dmd :dmd:
+**** sdp-dmd :default:
***** sdp-dmd
#+BEGIN_SRC sh :tangle dub.sdl
@@ -677,12 +470,11 @@ configuration "sdp-dmd-version" {
dflags "-J=views" "-I=src/sdp"
buildRequirements "allowWarnings"
buildOptions "verbose" "releaseMode" "optimize" "inline"
- postGenerateCommands "/usr/bin/notify-send -t 0 'D dmd compiled test release executable ready' 'sdp-[version]-dmd'"
}
#+END_SRC
**** sdp-dmd-debug :debug:
-***** sdp-dmd-debug :debug:
+***** sdp-dmd-debug
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-dmd-debug" {
@@ -699,7 +491,7 @@ configuration "sdp-dmd-debug" {
}
#+END_SRC
-***** sdp-dmd-debug-version :debug:
+***** sdp-dmd-debug-version :version:
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-dmd-debug-version" {
@@ -712,11 +504,10 @@ configuration "sdp-dmd-debug-version" {
buildOptions "verbose" "debugMode" "debugInfo" "optimize"
debugVersions "checkdoc" "summary"
debugVersions "dumpdoc"
- postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-[version]-dmd-debug'"
}
#+END_SRC
-***** sdp-dmd-debug-unittest :unittest:debug:
+***** sdp-dmd-debug-unittest :unittest:
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-dmd-debug-unittest" {
@@ -733,7 +524,7 @@ configuration "sdp-dmd-debug-unittest" {
}
#+END_SRC
-***** sdp-dmd-debug-docs :docs:debug:
+***** sdp-dmd-debug-docs :docs:
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-dmd-debug-docs" {
@@ -751,8 +542,8 @@ configuration "sdp-dmd-debug-docs" {
}
#+END_SRC
-*** ldc [#A] :ldc:
-**** sdp-ldc
+*** ldc :ldc:
+**** sdp-ldc :default:
***** sdp-ldc
#+BEGIN_SRC sh :tangle dub.sdl
@@ -779,12 +570,11 @@ configuration "sdp-ldc-version" {
dflags "-O2" "-J=views" "-I=src/sdp"
buildRequirements "allowWarnings"
buildOptions "verbose" "releaseMode" "optimize" "inline"
- postGenerateCommands "/usr/bin/notify-send -t 0 'D ldc2 compiled test release executable ready' 'sdp-[version]-ldc'"
}
#+END_SRC
**** sdp-ldc-debug :debug:
-***** sdp-ldc-debug :debug:
+***** sdp-ldc-debug
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-ldc-debug" {
@@ -800,7 +590,7 @@ configuration "sdp-ldc-debug" {
}
#+END_SRC
-***** sdp-ldc-debug-version :debug:
+***** sdp-ldc-debug-version :version:
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-ldc-debug-version" {
@@ -812,11 +602,10 @@ configuration "sdp-ldc-debug-version" {
buildRequirements "allowWarnings"
buildOptions "verbose" "debugMode" "debugInfo" "optimize"
debugVersions "checkdoc" "summary"
- postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-[version]-ldc-debug'"
}
#+END_SRC
-***** sdp-ldc-debug-unittest :unittest:debug:
+***** sdp-ldc-debug-unittest :unittest:
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-ldc-debug-unittest" {
@@ -832,7 +621,7 @@ configuration "sdp-ldc-debug-unittest" {
}
#+END_SRC
-***** sdp-ldc-debug-docs :docs:debug:
+***** sdp-ldc-debug-docs :docs:
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-ldc-debug-docs" {
@@ -849,7 +638,7 @@ configuration "sdp-ldc-debug-docs" {
#+END_SRC
*** gdc :gdc:
-**** sdp-gdc
+**** sdp-gdc :default:
***** sdp-gdc
#+BEGIN_SRC sh :tangle dub.sdl
@@ -878,12 +667,11 @@ configuration "sdp-gdc-version" {
lflags "-lz"
buildRequirements "allowWarnings"
buildOptions "verbose" "releaseMode" "optimize" "inline"
- postGenerateCommands "/usr/bin/notify-send -t 0 'D gdc compiled test release executable ready' 'sdp-[version]-gdc'"
}
#+END_SRC
**** sdp-gdc-debug :debug:
-***** sdp-gdc-debug :debug:
+***** sdp-gdc-debug
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-gdc-debug" {
@@ -899,7 +687,7 @@ configuration "sdp-gdc-debug" {
}
#+END_SRC
-***** sdp-gdc-debug-version :debug:
+***** sdp-gdc-debug-version :version:
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-gdc-debug-version" {
@@ -911,11 +699,10 @@ configuration "sdp-gdc-debug-version" {
lflags "-lz"
buildOptions "verbose" "debugMode" "debugInfo" "optimize"
debugVersions "checkdoc" "summary"
- postGenerateCommands "/usr/bin/notify-send -t 0 'D gdc compiled (debug with -g) executable ready' 'sdp-gdc-debug'"
}
#+END_SRC
-***** sdp-gdc-debug-unittest :unittest:debug:
+***** sdp-gdc-debug-unittest :unittest:
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-gdc-debug-unittest" {
@@ -932,7 +719,7 @@ configuration "sdp-gdc-debug-unittest" {
}
#+END_SRC
-***** sdp-gdc-debug-docs :docs:debug:
+***** sdp-gdc-debug-docs :docs:
#+BEGIN_SRC sh :tangle dub.sdl
configuration "sdp-gdc-debug-docs" {
@@ -980,6 +767,12 @@ time dub --compiler=dmd -v --force
time dub --compiler=ldc2 -v --force
#+END_SRC
+*** ,dubgdc :gdc:
+
+#+BEGIN_SRC sh :tangle no
+time dub --compiler=gdc -v --force
+#+END_SRC
+
* .gitignore :gitignore:
#+BEGIN_SRC sh :tangle .gitignore
@@ -1026,9 +819,10 @@ babel tangle) org files in ./org/ to create .d source files in ./src/sdp/
DIR=`pwd`
ORGFILES=""
EMACSLISP=/usr/share/emacs/site-lisp
-ORG_VERSION=20160725
-EMACSLISP_ORG=~/.emacs.d/elpa/org-$($(shell echo $(ORG_VERSION)))
-EMACSLISP_ORG_CONTRIB=~/.emacs.d/elpa/org-plus-contrib-$($(shell echo $(ORG_VERSION)))
+ORG_VER_AVAILABLE=$(shell echo `ls -d ~/.emacs.d/elpa/org-???????? | cut -d '-' -f2`)
+EMACSLISP_ORG=~/.emacs.d/elpa/org-$($(shell echo $(ORG_VER_AVAILABLE)))
+ORG_CONTRIB_VER_AVAILABLE=$(shell echo `ls -d ~/.emacs.d/elpa/org-plus-???????? | cut -d '-' -f2`)
+EMACSLISP_ORG_CONTRIB=~/.emacs.d/elpa/org-plus-contrib-$($(shell echo $(ORG_CONTRIB_VER_AVAILABLE)))
# wrap each argument in the code required to call tangle on it
for i in $@; do
ORGFILES="$ORGFILES \"$i\""
@@ -1048,11 +842,22 @@ emacs --batch -Q -q \
* __END__
** D build notes :notes:
+*** compilers
+
+- [X] Set D_COMPILER (one of DMD LDC or GDC)
+- [X] Set debug flags (using DMD standard flag -deb
+
+[[http://wiki.dlang.org/Compilers][D Compilers wiki https://wiki.dlang.org/Compilers]]
+[[http://dlang.org/download.html][D Compilers download http://dlang.org/download.html]]
+
*** dub :dub:
+
https://github.com/dlang/dub/
http://code.dlang.org/getting_started
http://code.dlang.org/docs/commandline
+
**** dub json or sdlang
+
Every DUB package should contain a [[http://code.dlang.org/package-format?lang=json][dub.json]] or [[http://code.dlang.org/package-format?lang=sdl][dub.sdl]]
https://code.dlang.org/package-format?lang=sdl
https://code.dlang.org/packages/sdlang-d
@@ -1061,6 +866,7 @@ https://github.com/Abscissa/SDLang-D/blob/master/HOWTO.md
https://code.dlang.org/docs/commandline
**** dub dependencies
+
dub list
dub upgrade
dub fetch sdlang-d
@@ -1071,165 +877,22 @@ dub fetch unit-threaded ?
sdp ~master: /home/ralph/grotto/repo/git.repo/utils/sdp-x/
/home/ralph/.dub/packages/*
-**** call dub directly [#A]
+**** call dub directly
#+BEGIN_SRC sh :tangle no
dub build -h
-
-time (make clean_src && make skel && make tangle && dub --compiler=ldc2 --config=sdp-ldc --debug=asserts)
-time (make clean_src && make skel && make tangle && CC=/usr/bin/clang-4.0 dub --compiler=ldc2 --config=sdp-ldc-debug --debug=asserts)
-
-time (dub --compiler=ldc2 --config=sdp-ldc --debug=asserts)
-time (dub --compiler=ldc2 --config=sdp-ldc-debug --debug=asserts)
-
-time (dub --compiler=ldc2 --config=sdp-ldc --debug=asserts)
-time (dub --compiler=dmd --config=sdp-dmd --debug=asserts)
-
-time dub build --compiler=dmd
-time dub build --compiler=ldc2
-time dub build --compiler=gdc
-time dub build --compiler=gcc
-
-time make ldc_release
-time make ldc_debug
-
-time make dmd_release
-time make dmd_debug
-#+END_SRC
-
-**** sisu markup
-
-#+BEGIN_SRC sh
-# dmd
-dub --compiler=dmd -v --force --config=sdp-debug-clean
-# time ~sdp3/bin/sdp-debug-clean -v --html --no-assert en/autonomy_markup0.sst
-
-# ldc
-# flags
-
-dub --compiler=ldc2 -v --force --config=sdp-release # sdp
-# time ~sdp3/bin/sdp -v --html --no-assert en/autonomy_markup0.sst
-dub --compiler=ldc2 -v --force --config=sdp-debug # sdp-debug
-# time ~sdp3/bin/sdp-debug -v --html --no-assert en/autonomy_markup0.sst
-dub --compiler=ldc2 -v --force --config=sdp-debug-clean # sdp-debug-clean
-# time ~sdp3/bin/sdp-debug-clean -v --html --no-assert en/autonomy_markup0.sst
-#+END_SRC
-
-*** TODO debug options list [#A] :debug:
-
-#+BEGIN_SRC sh :tangle no
-debugVersions "asserts"
-debugVersions "biblio"
-debugVersions "biblio0"
-debugVersions "bibliobuild"
-debugVersions "biblioblock"
-debugVersions "biblioblockinclude"
-debugVersions "bibliosorted"
-debugVersions "biblio_sorted"
-debugVersions "block"
-debugVersions "bookindex"
-debugVersions "bookindexmatch"
-debugVersions "bookindexraw"
-debugVersions "check"
-debugVersions "checkdoc"
-debugVersions "code"
-debugVersions "comment"
-debugVersions "configfile"
-debugVersions "dom"
-debugVersions "dumpdoc"
-debugVersions "endnotes"
-debugVersions "endnotes_build"
-debugVersions "epub_output"
-debugVersions "footnotes"
-debugVersions "footnotesdone"
-debugVersions "glossary"
-debugVersions "group"
-debugVersions "header"
-debugVersions "header_and_content"
-debugVersions "header1"
-debugVersions "headerjson"
-debugVersions "headermakejson"
-debugVersions "headermetadatajson"
-debugVersions "headersdlang"
-debugVersions "heading"
-debugVersions "headings"
-debugVersions "headingsfound"
-debugVersions "insert"
-debugVersions "munge"
-debugVersions "node"
-debugVersions "objectrelated1"
-debugVersions "objectrelated2"
-debugVersions "objects"
-debugVersions "ocnoff"
-debugVersions "para"
-debugVersions "parabullet"
-debugVersions "parabulletindent"
-debugVersions "paraindent"
-debugVersions "paraindenthang"
-debugVersions "parent"
-debugVersions "paths"
-debugVersions "poem"
-debugVersions "quote"
-debugVersions "raw"
-debugVersions "sdlang"
-debugVersions "section_head"
-debugVersions "section_toc"
-debugVersions "section_toc_seg"
-debugVersions "section_toc_scroll"
-debugVersions "section_body"
-debugVersions "section_endnotes"
-debugVersions "section_endnotes_seg"
-debugVersions "section_endnotes_scroll"
-debugVersions "section_glossary"
-debugVersions "section_bibliography"
-debugVersions "section_bookindex"
-debugVersions "section_bookindex_seg"
-debugVersions "section_bookindex_scroll"
-debugVersions "section_blurb"
-debugVersions "segnames"
-debugVersions "sisupod"
-debugVersions "sisupodimages"
-debugVersions "source"
-debugVersions "srclines"
-debugVersions "structattrib"
-debugVersions "summary"
-debugVersions "table"
-debugVersions "toc"
#+END_SRC
*** make
#+BEGIN_SRC sh
-time make ldc_release_stamp
-time make ldc_release_stamp_ver
-time make ldc_ver
-
-time (make clean_src && make skel && make tangle && make ldc_release_stamp)
-time (make clean_src && make skel && make tangle && make ldc_release_stamp_ver)
-
-time (make clean_src && make skel && make tangle && dub --config=sdp-ldc-debug --debug=asserts)
-#+END_SRC
-
-**** make (emacs)
-
-#+BEGIN_SRC sh
-make -k tangle
-
-make -k dub_dmd_release
-make -k dub_dmd_debug
-make -k dub_dmd_debug_clean
-make -k dub_dmd_tmp
-
-make -k dub_ldc_release
-make -k dub_ldc_debug
-make -k dub_ldc_debug_clean
-make -k dub_ldc_tmp
+time make dmd
+time make gdc
+time make ldc
+time make all
+time make all_ver
#+END_SRC
-** built test
-time (make clean_src && make skel && make tangle && CC=/usr/bin/clang-4.0 dub --config=sdp-ldc-debug --debug=asserts)
-time (CC=/usr/bin/clang-4.0 dub --config=sdp-ldc-debug --debug=asserts --debug=sisupod)
-time (make clean_src && make skel && make tangle && make ldc_release_stamp)
-
** git project version
+
echo $(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g')