diff options
author | Ralph Amissah <ralph@amissah.com> | 2017-10-13 11:39:50 -0400 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2019-04-10 15:14:14 -0400 |
commit | e42bbb962e2b7b1efa05982d284fa45c883edd41 (patch) | |
tree | 566612ad085e672b076a17f9416f22cc4d480f4d /maker.org | |
parent | sisupod.zip related fixes (diff) |
org header cosmetic & maker.org/makefile
Diffstat (limited to 'maker.org')
-rw-r--r-- | maker.org | 737 |
1 files changed, 200 insertions, 537 deletions
@@ -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') |