Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

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)

new Atomic module, first version of new runtime building system (works only with ldc for the moment), some reorganizations

  • Property svn:eol-style set to native
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.