aboutsummaryrefslogtreecommitdiffhomepage
path: root/makefile
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2017-10-13 11:39:50 -0400
committerRalph Amissah <ralph@amissah.com>2019-04-10 15:14:14 -0400
commite42bbb962e2b7b1efa05982d284fa45c883edd41 (patch)
tree566612ad085e672b076a17f9416f22cc4d480f4d /makefile
parentsisupod.zip related fixes (diff)
org header cosmetic & maker.org/makefile
Diffstat (limited to 'makefile')
-rw-r--r--makefile259
1 files changed, 65 insertions, 194 deletions
diff --git a/makefile b/makefile
index f03500d..cad1478 100644
--- a/makefile
+++ b/makefile
@@ -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\""; \