root/tags/releases/0.99.9/tango/core/rt/gc/basic/posix.mak
| Revision 4752, 3.0 kB (checked in by fawzi, 3 years ago) | |
|---|---|
| |
| Line | |
|---|---|
| 1 | # Makefile to build the garbage collector D library for Posix |
| 2 | # Designed to work with GNU make |
| 3 | # Targets: |
| 4 | # make |
| 5 | # Same as make all |
| 6 | # make lib |
| 7 | # Build the garbage collector library |
| 8 | # make doc |
| 9 | # Generate documentation |
| 10 | # make clean |
| 11 | # Delete unneeded files created by build process |
| 12 | |
| 13 | LIB_BASE=libtango-gc-basic |
| 14 | LIB_BUILD= |
| 15 | LIB_TARGET=$(LIB_BASE)$(LIB_BUILD).a |
| 16 | LIB_MASK=$(LIB_BASE)*.a |
| 17 | |
| 18 | CP=cp -f |
| 19 | RM=rm -f |
| 20 | MD=mkdir -p |
| 21 | |
| 22 | ADD_CFLAGS= |
| 23 | ADD_DFLAGS= |
| 24 | SYSTEM_VERSION= |
| 25 | |
| 26 | CFLAGS_RELEASE=-O $(ADD_CFLAGS) |
| 27 | CFLAGS_DEBUG=-g $(ADD_CFLAGS) |
| 28 | DFLAGS_RELEASE=-release -O -inline -w -nofloat $(SYSTEM_VERSION) $(ADD_DFLAGS) -I../../common -I../../.. |
| 29 | DFLAGS_DEBUG=-g -w -nofloat $(SYSTEM_VERSION) $(ADD_DFLAGS) -I../../common -I../../.. |
| 30 | TFLAGS_RELEASE=-O -inline -w -nofloat $(SYSTEM_VERSION) $(ADD_DFLAGS) |
| 31 | TFLAGS_DEBUG=-g -w -nofloat $(SYSTEM_VERSION) $(ADD_DFLAGS) |
| 32 | DOCFLAGS=-version=DDoc $(SYSTEM_VERSION) |
| 33 | |
| 34 | ifeq ($(VERSION),debug) |
| 35 | CFLAGS=$(CFLAGS_DEBUG) |
| 36 | DFLAGS=$(DFLAGS_DEBUG) |
| 37 | TFLAGS=$(TFLAGS_DEBUG) |
| 38 | else |
| 39 | CFLAGS=$(CFLAGS_RELEASE) |
| 40 | DFLAGS=$(DFLAGS_RELEASE) |
| 41 | TFLAGS=$(TFLAGS_RELEASE) |
| 42 | endif |
| 43 | |
| 44 | vpath %d rt/basicgc |
| 45 | |
| 46 | CC=gcc |
| 47 | LC=$(AR) -qsv |
| 48 | DC=dmd |
| 49 | |
| 50 | LIB_DEST=.. |
| 51 | |
| 52 | .SUFFIXES: .s .S .c .cpp .d .html .o |
| 53 | .PHONY : lib lib-release lib-debug unittest all doc clean install clean-all |
| 54 | |
| 55 | .s.o: |
| 56 | $(CC) -c $(CFLAGS) $< -o$@ |
| 57 | |
| 58 | .S.o: |
| 59 | $(CC) -c $(CFLAGS) $< -o$@ |
| 60 | |
| 61 | .c.o: |
| 62 | $(CC) -c $(CFLAGS) $< -o$@ |
| 63 | |
| 64 | .cpp.o: |
| 65 | g++ -c $(CFLAGS) $< -o$@ |
| 66 | |
| 67 | .d.o: |
| 68 | $(DC) -c $(DFLAGS) $< -of$@ |
| 69 | |
| 70 | .d.html: |
| 71 | $(DC) -c -o- $(DOCFLAGS) -Df$*.html $< |
| 72 | # $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $< |
| 73 | |
| 74 | targets : lib doc |
| 75 | all : lib-release lib-debug doc |
| 76 | |
| 77 | ###################################################### |
| 78 | |
| 79 | ALL_OBJS= \ |
| 80 | gc.o \ |
| 81 | gcalloc.o \ |
| 82 | gcbits.o \ |
| 83 | gcstats.o \ |
| 84 | gcx.o |
| 85 | |
| 86 | ###################################################### |
| 87 | |
| 88 | ALL_DOCS= |
| 89 | |
| 90 | ###################################################### |
| 91 | unittest : |
| 92 | $(MAKE) -fposix.mak clean DC="$(DC)" LIB_BUILD="" VERSION="$(VERSION)" |
| 93 | $(MAKE) -fposix.mak lib DC="$(DC)" LIB_BUILD="" VERSION="$(VERSION)" \ |
| 94 | ADD_CFLAGS="$(ADD_CFLAGS)" ADD_DFLAGS="$(ADD_DFLAGS) -unittest -debug=UnitTest" \ |
| 95 | SYSTEM_VERSION="$(SYSTEM_VERSION)" |
| 96 | lib-release : |
| 97 | $(MAKE) -fposix.mak clean DC="$(DC)" LIB_BUILD="" VERSION="$(VERSION)" |
| 98 | $(MAKE) -fposix.mak DC="$(DC)" LIB_BUILD="" VERSION=release lib \ |
| 99 | ADD_CFLAGS="$(ADD_CFLAGS)" ADD_DFLAGS="$(ADD_DFLAGS)" SYSTEM_VERSION="$(SYSTEM_VERSION)" |
| 100 | lib-debug : |
| 101 | $(MAKE) -fposix.mak clean DC="$(DC)" LIB_BUILD="" VERSION="$(VERSION)" |
| 102 | $(MAKE) -fposix.mak DC="$(DC)" LIB_BUILD="-d" VERSION=debug lib \ |
| 103 | ADD_CFLAGS="$(ADD_CFLAGS)" ADD_DFLAGS="$(ADD_DFLAGS)" SYSTEM_VERSION="$(SYSTEM_VERSION)" |
| 104 | |
| 105 | ###################################################### |
| 106 | |
| 107 | lib : $(LIB_TARGET) |
| 108 | |
| 109 | $(LIB_TARGET) : $(ALL_OBJS) |
| 110 | $(RM) $@ |
| 111 | $(LC) $@ $(ALL_OBJS) |
| 112 | |
| 113 | doc : $(ALL_DOCS) |
| 114 | echo No documentation available. |
| 115 | |
| 116 | ###################################################### |
| 117 | |
| 118 | clean : |
| 119 | find . -name "*.di" | xargs $(RM) |
| 120 | $(RM) $(ALL_OBJS) |
| 121 | $(RM) $(ALL_DOCS) |
| 122 | |
| 123 | clean-all : clean |
| 124 | $(RM) $(LIB_MASK) |
| 125 | |
| 126 | install : |
| 127 | $(MD) $(LIB_DEST) |
| 128 | $(CP) $(LIB_MASK) $(LIB_DEST)/. |
Note: See TracBrowser for help on using the browser.












