aboutsummaryrefslogtreecommitdiffhomepage
path: root/makefile
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2016-04-19 03:15:41 -0400
committerRalph Amissah <ralph@amissah.com>2016-04-24 08:30:48 -0400
commit86fcc0b6cff68ed461027ac82bcc238fbbf32483 (patch)
tree7dbc1e80238fc2b5d94eda587d38a039dfa5fb83 /makefile
parentorg header (diff)
base ... tagdoc-reform_v0.0.0
Diffstat (limited to 'makefile')
-rw-r--r--makefile111
1 files changed, 74 insertions, 37 deletions
diff --git a/makefile b/makefile
index f3fc0d3..72f9128 100644
--- a/makefile
+++ b/makefile
@@ -1,24 +1,22 @@
DMD=dmd
-DMD_FLAGS=-de -w
-DMD_FLAGS_RELEASE=-release
+DMD_FLAGS=-de -w -J./lib
+DMD_FLAGS_RELEASE=-O -release
DMD_FLAG_BINOF=-of
-
LDC=ldc2
-LDC_FLAGS=-w
-LDC_FLAGS_RELEASE=-release
+LDC_FLAGS=-w -J=lib
+LDC_FLAGS_RELEASE=-O4 -release
LDC_FLAG_BINOF=-of=
-
GDC=gdc
#GDC=gdc-5
GDC_FLAGS=
-GDC_FLAGS_RELEASE=-frelease
+GDC_FLAGS_RELEASE=-march=native -O3 -pipe -frelease
+#GDC_FLAGS_RELEASE=-frelease
GDC_FLAG_BINOF=-o
-
+RDMD=rdmd
+RDMD_FLAGS=--build-only --compiler=
# SET_D_COMPILER=(one of: DMD LDC or GDC):
SET_D_COMPILER=LDC
-
-SET_DC_FLAGS_DEBUG_EXTRA=-debug=headings -debug=footnotes -debug=endnotes
-
+SET_DC_FLAGS_DEBUG_EXTRA=-debug=code
DC=$($(SET_D_COMPILER))
DC_FLAGS=$($(shell echo $(SET_D_COMPILER)_FLAGS))
DC_FLAGS_RELEASE=$($(shell echo $(SET_D_COMPILER)_FLAGS_RELEASE))
@@ -26,7 +24,6 @@ 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
@@ -36,22 +33,20 @@ endif
ifeq ($(DC), $(GDC))
DC_FLAGS_DEBUG :=$(shell echo $(DC_FLAGS_DEBUG_SET)| sed -e "s/-debug/-fdebug/g")
endif
-
PRG_NAME=sdp
PRG_SRC=$(PRG_NAME).d
PRG_SRCDIR=./lib
PRG_BIN=$(PRG_NAME)
-PRG_BINDIR=bin
-
+PRG_BINDIR=./bin
# ORG
+ORG_VERSION=20160411
EMACSLISP=/usr/share/emacs/site-lisp
-EMACSLISP_ORG=~/.emacs.d/elpa/org-20151005
-EMACSLISP_ORG_CONTRIB=~/.emacs.d/elpa/org-plus-contrib-20151005
+EMACSLISP_ORG=~/.emacs.d/elpa/org-$($(shell echo $(ORG_VERSION)))
+EMACSLISP_ORG_CONTRIB=~/.emacs.d/elpa/org-plus-contrib-$($(shell echo $(ORG_VERSION)))
ORGFILELIST=$(shell echo `ls -1 maker.org org/*.org`)
ORGFILES=""
ORGDIR=$(shell echo `pwd`)
-
-all: build
+all: tangle build
build: $(PRG_SRCDIR)/$(PRG_SRC)
$(DC) $(DC_FLAGS) \
@@ -60,6 +55,12 @@ build: $(PRG_SRCDIR)/$(PRG_SRC)
rebuild: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_BINDIR)/$(PRG_BIN).o clean build
+makefile_new:
+ make -k tangle_maker
+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) \
@@ -79,30 +80,50 @@ 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)
-release: distclean_and_init tangle $(PRG_SRCDIR)/$(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)
-
-init:
- mkdir -p $(PRG_SRCDIR); \
+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)
+skel:
+ mkdir -p $(PRG_SRCDIR)/$(PRG_NAME); \
mkdir -p $(PRG_BINDIR);
-clean: $(PRG_BINDIR)/$(PRG_BIN).o
- rm $(PRG_BINDIR)/$(PRG_NAME).o
+init: skel
-expunge: init $(PRG_BINDIR)
+clean:
+ rm $(PRG_BINDIR)/*
+
+expunge:
rm -rf $(PRG_BINDIR); \
rm -rf $(PRG_SRCDIR);
-distclean: init $(PRG_BINDIR) expunge
-
-distclean_and_init: init $(PRG_BINDIR) expunge
- mkdir -p $(PRG_SRCDIR); \
- mkdir -p $(PRG_BINDIR);
+distclean: expunge
-tangle:
+distclean_and_init: expunge skel
+tangle: skel
for f in $(ORGFILELIST); do \
ORGFILES="$$ORGFILES \"$$f\""; \
done; \
@@ -117,13 +138,29 @@ tangle:
(require 'org)(require 'ob)(require 'ob-tangle) \
(mapc (lambda (file) \
(find-file (expand-file-name file \"$(ORGDIR)\")) \
- (setq-local org-src-preserve-indentation t) \
+ (setq-local org-src-preserve-indentation t) \
(org-babel-tangle) \
(kill-buffer)) '($$ORGFILES)))" 2>&1
-
-gitsnapshot: distclean_and_init tangle
+tangle_maker:
+ for f in $(ORGFILELIST); do \
+ ORGFILES="\"maker.org\""; \
+ done; \
+ emacs --batch -Q -q \
+ --eval "(progn \
+ (add-to-list 'load-path \
+ (expand-file-name \"$(EMACSLISP)\")) \
+ (add-to-list 'load-path \
+ (expand-file-name \"$(EMACSLISP_ORG)\" t)) \
+ (add-to-list 'load-path \
+ (expand-file-name \"$(EMACSLISP_ORG_CONTRIB)\" t)) \
+ (require 'org)(require 'ob)(require 'ob-tangle) \
+ (mapc (lambda (file) \
+ (find-file (expand-file-name file \".\")) \
+ (setq-local org-src-preserve-indentation t) \
+ (org-babel-tangle) \
+ (kill-buffer)) '($$ORGFILES)))" 2>&1
+gitsnapshot: distclean tangle
git commit -a
-
.PHONY : all build rebuild debug release \
clean distclean init \
- tangle
+ tangle gitsnapshot