root/tags/releases/0.99.8/lib/gc/basic/posix.mak
| Revision 4384, 2.9 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 | CC=gcc |
| 45 | LC=$(AR) -qsv |
| 46 | DC=dmd |
| 47 | |
| 48 | LIB_DEST=.. |
| 49 | |
| 50 | .SUFFIXES: .s .S .c .cpp .d .html .o |
| 51 | .PHONY : lib lib-release lib-debug unittest all doc clean install clean-all |
| 52 | |
| 53 | .s.o: |
| 54 | $(CC) -c $(CFLAGS) $< -o$@ |
| 55 | |
| 56 | .S.o: |
| 57 | $(CC) -c $(CFLAGS) $< -o$@ |
| 58 | |
| 59 | .c.o: |
| 60 | $(CC) -c $(CFLAGS) $< -o$@ |
| 61 | |
| 62 | .cpp.o: |
| 63 | g++ -c $(CFLAGS) $< -o$@ |
| 64 | |
| 65 | .d.o: |
| 66 | $(DC) -c $(DFLAGS) $< -of$@ |
| 67 | |
| 68 | .d.html: |
| 69 | $(DC) -c -o- $(DOCFLAGS) -Df$*.html $< |
| 70 | # $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $< |
| 71 | |
| 72 | targets : lib doc |
| 73 | all : lib-release lib-debug doc |
| 74 | |
| 75 | ###################################################### |
| 76 | |
| 77 | ALL_OBJS= \ |
| 78 | gc.o \ |
| 79 | gcalloc.o \ |
| 80 | gcbits.o \ |
| 81 | gcstats.o \ |
| 82 | gcx.o |
| 83 | |
| 84 | ###################################################### |
| 85 | |
| 86 | ALL_DOCS= |
| 87 | |
| 88 | ###################################################### |
| 89 | unittest : |
| 90 | make -fposix.mak clean DC="$(DC)" LIB_BUILD="" VERSION="$(VERSION)" |
| 91 | make -fposix.mak lib DC="$(DC)" LIB_BUILD="" VERSION="$(VERSION)" \ |
| 92 | ADD_CFLAGS="$(ADD_CFLAGS)" ADD_DFLAGS="$(ADD_DFLAGS) -unittest -debug=UnitTest" \ |
| 93 | SYSTEM_VERSION="$(SYSTEM_VERSION)" |
| 94 | lib-release : |
| 95 | make -fposix.mak clean DC="$(DC)" LIB_BUILD="" VERSION="$(VERSION)" |
| 96 | make -fposix.mak DC="$(DC)" LIB_BUILD="" VERSION=release lib \ |
| 97 | ADD_CFLAGS="$(ADD_CFLAGS)" ADD_DFLAGS="$(ADD_DFLAGS)" SYSTEM_VERSION="$(SYSTEM_VERSION)" |
| 98 | lib-debug : |
| 99 | make -fposix.mak clean DC="$(DC)" LIB_BUILD="" VERSION="$(VERSION)" |
| 100 | make -fposix.mak DC="$(DC)" LIB_BUILD="-d" VERSION=debug lib \ |
| 101 | ADD_CFLAGS="$(ADD_CFLAGS)" ADD_DFLAGS="$(ADD_DFLAGS)" SYSTEM_VERSION="$(SYSTEM_VERSION)" |
| 102 | |
| 103 | ###################################################### |
| 104 | |
| 105 | lib : $(LIB_TARGET) |
| 106 | |
| 107 | $(LIB_TARGET) : $(ALL_OBJS) |
| 108 | $(RM) $@ |
| 109 | $(LC) $@ $(ALL_OBJS) |
| 110 | |
| 111 | doc : $(ALL_DOCS) |
| 112 | echo No documentation available. |
| 113 | |
| 114 | ###################################################### |
| 115 | |
| 116 | clean : |
| 117 | find . -name "*.di" | xargs $(RM) |
| 118 | $(RM) $(ALL_OBJS) |
| 119 | $(RM) $(ALL_DOCS) |
| 120 | |
| 121 | clean-all : clean |
| 122 | $(RM) $(LIB_MASK) |
| 123 | |
| 124 | install : |
| 125 | $(MD) $(LIB_DEST) |
| 126 | $(CP) $(LIB_MASK) $(LIB_DEST)/. |
Note: See TracBrowser for help on using the browser.












