From 86fcc0b6cff68ed461027ac82bcc238fbbf32483 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 19 Apr 2016 03:15:41 -0400 Subject: base ... tag --- makefile | 111 ++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 74 insertions(+), 37 deletions(-) (limited to 'makefile') 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 -- cgit v1.2.3