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

root/tags/releases/0.99.8/lib/dmd-win32.mak

Revision 4417, 3.5 kB (checked in by fawzi, 3 years ago)

building normal and debug runtime library also on windows

  • Property svn:eol-style set to native
Line 
1 # Makefile to build the composite D runtime library for Win32
2 # Designed to work with DigitalMars make
3 # Targets:
4 #   make
5 #       Same as make all
6 #   make lib
7 #       Build the runtime library
8 #   make doc
9 #       Generate documentation
10 #   make clean
11 #       Delete unneeded files created by build process
12
13 LIB_BASE=tango-base-dmd
14 LIB_BUILD=
15 LIB_TARGET=$(LIB_BASE)$(LIB_BUILD).lib
16 LIB_MASK=$(LIB_BASE)*.lib
17
18 DIR_CC=common\tango
19 DIR_RT=compiler\dmd
20 DIR_GC=gc\basic
21
22 LIB_CC=$(DIR_CC)\tango-cc-tango$(LIB_BUILD).lib
23 LIB_RT=$(DIR_RT)\tango-rt-dmd$(LIB_BUILD).lib
24 LIB_GC=$(DIR_GC)\tango-gc-basic$(LIB_BUILD).lib
25
26 CP=xcopy /y
27 RM=del /f
28 MD=mkdir
29
30 CC=dmc
31 LC=lib
32 DC=dmd
33
34 ADD_CFLAGS=
35 ADD_DFLAGS=
36 CFLAGS_RELEASE=-mn -6 -r $(ADD_CFLAGS)
37 CFLAGS_DEBUG=-g -mn -6 -r $(ADD_CFLAGS)
38 DFLAGS_RELEASE=-release -O -inline -w -nofloat -I. -I../shared -I../../.. $(ADD_DFLAGS)
39 DFLAGS_DEBUG=-g -w -nofloat  -I. -I../shared -I../../.. $(ADD_DFLAGS)
40 TFLAGS_RELEASE=-O -inline -w  -nofloat $(ADD_DFLAGS)
41 TFLAGS_DEBUG=-g -w -nofloat $(ADD_DFLAGS)
42
43 targets : lib-release doc
44 all     : lib-release lib-debug doc
45
46 ######################################################
47
48 ALL_OBJS=
49
50 ######################################################
51
52 ALL_DOCS=
53
54 ######################################################
55 lib: lib-release
56
57 lib-release:
58     make -fdmd-win32.mak clean LIB_BUILD=""
59     make -fdmd-win32.mak release-comp LIB_BUILD=""
60
61 lib-debug:
62     make -fdmd-win32.mak clean LIB_BUILD=""
63     make -fdmd-win32.mak debug-comp LIB_BUILD="-d"
64    
65 release-comp : $(ALL_OBJS)
66     cd $(DIR_CC)
67     make -fwin32.mak lib DC=$(DC) DFLAGS="$(DFLAGS_RELEASE)" CFLAGS="$(CFLAGS_RELEASE)" \
68         TFLAGS="$(TFLAGS_RELEASE)" LIB_BUILD="$(LIB_BUILD)"
69     cd ..\..
70     cd $(DIR_RT)
71     make -fwin32.mak lib DC=$(DC) DFLAGS="$(DFLAGS_RELEASE)" CFLAGS="$(CFLAGS_RELEASE)" \
72         TFLAGS="$(TFLAGS_RELEASE)" LIB_BUILD="$(LIB_BUILD)"
73     cd ..\..
74     cd $(DIR_GC)
75     make -fwin32.mak lib DC=$(DC) DFLAGS="$(DFLAGS_RELEASE)" CFLAGS="$(CFLAGS_RELEASE)" \
76         TFLAGS="$(TFLAGS_RELEASE)" LIB_BUILD="$(LIB_BUILD)"
77     cd ..\..
78     $(RM) $(LIB_TARGET)
79     $(LC) -c -n $(LIB_TARGET) $(LIB_CC) $(LIB_RT) $(LIB_GC)
80
81 debug-comp : $(ALL_OBJS)
82     cd $(DIR_CC)
83     make -fwin32.mak lib DC=$(DC) DFLAGS="$(DFLAGS_DEBUG)" CFLAGS="$(CFLAGS_DEBUG)" \
84         TFLAGS="$(TFLAGS_DEBUG)" LIB_BUILD="$(LIB_BUILD)"
85     cd ..\..
86     cd $(DIR_RT)
87     make -fwin32.mak lib DC=$(DC) DFLAGS="$(DFLAGS_DEBUG)" CFLAGS="$(CFLAGS_DEBUG)" \
88         TFLAGS="$(TFLAGS_DEBUG)" LIB_BUILD="$(LIB_BUILD)"
89     cd ..\..
90     cd $(DIR_GC)
91     make -fwin32.mak lib DC=$(DC) DFLAGS="$(DFLAGS_DEBUG)" CFLAGS="$(CFLAGS_DEBUG)" \
92         TFLAGS="$(TFLAGS_DEBUG)" LIB_BUILD="$(LIB_BUILD)"
93     cd ..\..
94     $(RM) $(LIB_TARGET)
95     $(LC) -c -n $(LIB_TARGET) $(LIB_CC) $(LIB_RT) $(LIB_GC)
96
97 doc : $(ALL_DOCS)
98     cd $(DIR_CC)
99     make -fwin32.mak doc
100     cd ..\..
101     cd $(DIR_RT)
102     make -fwin32.mak doc
103     cd ..\..
104     cd $(DIR_GC)
105     make -fwin32.mak doc
106     cd ..\..
107
108 ######################################################
109
110 clean :
111     $(RM) /s *.di
112     $(RM) $(ALL_OBJS)
113     $(RM) $(ALL_DOCS)
114     cd $(DIR_CC)
115     make -fwin32.mak clean LIB_BUILD="$(LIB_BUILD)"
116     cd ..\..
117     cd $(DIR_RT)
118     make -fwin32.mak clean LIB_BUILD="$(LIB_BUILD)"
119     cd ..\..
120     cd $(DIR_GC)
121     make -fwin32.mak clean LIB_BUILD="$(LIB_BUILD)"
122     cd ..\..
123
124 clean-all: clean
125     cd $(DIR_CC)
126     make -fwin32.mak clean-all
127     cd ..\..
128     cd $(DIR_RT)
129     make -fwin32.mak clean-all
130     cd ..\..
131     cd $(DIR_GC)
132     make -fwin32.mak clean-all
133     cd ..\..
134     $(RM) $(LIB_MASK)
135    
136 install :
137     cd $(DIR_CC)
138     make -fwin32.mak install
139     cd ..\..
140     cd $(DIR_RT)
141     make -fwin32.mak install
142     cd ..\..
143     cd $(DIR_GC)
144     make -fwin32.mak install
145     cd ..\..
146 #   $(CP) $(LIB_MASK) $(LIB_DEST)\.
Note: See TracBrowser for help on using the browser.