diff options
Diffstat (limited to 'makefile')
| -rw-r--r-- | makefile | 259 | 
1 files changed, 65 insertions, 194 deletions
| @@ -1,120 +1,40 @@  PROJECT_VERSION :=$(shell echo `git describe --long --tags | sed -e "s/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g"`) -DMD=dmd -DMD_FLAGS=-de -w -J./views -I./src/sdp -linker=ld.gold -DMD_FLAGS_RELEASE=-O -inline -release -DMD_FLAG_BINOF=-of -LDC=ldc2 -LDC_FLAGS=-w -J=views -I=src/sdp -linker=ld.gold -LDC_FLAGS_RELEASE=-O4 -inline -release -LDC_FLAG_BINOF=-of= -GDC=gdc -GDC_FLAGS= -GDC_FLAGS_RELEASE=-march=native -O3 -pipe -frelease -GDC_FLAG_BINOF=-o -RDMD=rdmd -RDMD_FLAGS=--build-only --compiler=  DUB=dub  DUB_FLAGS=-v --force --compiler= -# SET_D_COMPILER=(one of: DMD LDC or GDC): -SET_D_COMPILER=LDC -SET_DC_FLAGS_DEBUG_EXTRA=-debug=dumpdoc -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)) -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")  PRG_NAME=sdp  PRG_SRC=$(PRG_NAME).d  PRG_SRCDIR=./src  PRG_BIN=$(PRG_NAME)  PRG_BINDIR=./bin  PRG_DOCDIR=./docs -# 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`) -all: 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 -dub: $(PRG_SRCDIR)/$(PRG_SRC) -	$(DUB) $(DUB_FLAGS)$(DC) -debug_dub: $(PRG_SRCDIR)/$(PRG_SRC) -	$(DUB) $(DUB_FLAGS)$(DC) $(DUB_FLAGS_DEBUG) -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_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_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 -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 -ver: -	echo sdp-$(PROJECT_VERSION) -# dmd -dmd_rel: expunge skel tangle -	$(DUB) --compiler=dmd --config=sdp-release -dmd_stamp: +all: dmd ldc gdc +all_ver: dmd_ver ldc_ver gdc_ver +all_debug: dmd_debug gdc_debug ldc_debug +all_clean: clean tangle dmd ldc gdc +all_ver_clean: clean tangle dmd_ver ldc_ver gdc_ver +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 +dmd:  	$(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 -	$(DUB) --compiler=dmd --config=sdp-dmd -dmd_release_expunge_tangle: expunge skel tangle -	$(DUB) --compiler=dmd --config=sdp-dmd +	$(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)'  dmd_debug:  	$(DUB) --compiler=dmd --config=sdp-dmd-debug +dmd_rel: expunge skel tangle +	$(DUB) --compiler=dmd --config=sdp-release +dmd_rel_tangle: tangle +	$(DUB) --compiler=dmd --config=sdp-dmd +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 @@ -123,22 +43,24 @@ 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 -# 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 -	$(DUB) --compiler=gdc --config=sdp-gdc -gdc_release_expunge_tangle: expunge skel tangle +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 +gdc:  	$(DUB) --compiler=gdc --config=sdp-gdc +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)'  gdc_debug:  	$(DUB) --compiler=gdc --config=sdp-gdc-debug +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 @@ -147,29 +69,24 @@ 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 -# ldc2 -ldc_rel: expunge skel tangle -	$(DUB) --compiler=ldc2 --config=sdp-release -ldc_stamp: +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 +ldc:  	$(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 +	$(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)'  ldc_debug:  	$(DUB) --compiler=ldc2 --config=sdp-ldc-debug +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 @@ -178,93 +95,47 @@ 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 -dmd_release_test: tangle dmd_test_release -ldc_release_test: tangle ldc_test_release -rdmd: $(PRG_SRCDIR)/$(PRG_SRC) -	$(RDMD) $(RDMD_FLAGS)$(DC) $(DC_FLAGS) \ -	$(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \ -	$(PRG_SRCDIR)/$(PRG_NAME)/$(PRG_SRC) -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) -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) -release: distclean tangle $(PRG_SRCDIR)/$(PRG_SRC) -	$(DC) $(DC_FLAGS) $(DC_FLAGS_RELEASE) \ -	$(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \ -	$(PRG_SRCDIR)/$(PRG_SRC) -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_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  skel:  	mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/meta; \  	mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/conf; \  	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); +ver: +	echo sdp-$(PROJECT_VERSION) +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  tangle: skel  	for f in $(ORGFILELIST); do \  		ORGFILES="$$ORGFILES \"$$f\""; \ | 
