Mercurial > projects > ldc
comparison druntime/src/compiler/ldc/win32.mak @ 1458:e0b2d67cfe7c
Added druntime (this should be removed once it works).
author | Robert Clipsham <robert@octarineparrot.com> |
---|---|
date | Tue, 02 Jun 2009 17:43:06 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1456:7b218ec1044f | 1458:e0b2d67cfe7c |
---|---|
1 # Makefile to build the D runtime library core components for Posix | |
2 # Designed to work with GNU make | |
3 # Targets: | |
4 # make | |
5 # Same as make all | |
6 # make debug | |
7 # Build the debug version of the library | |
8 # make release | |
9 # Build the release version of the library | |
10 # make doc | |
11 # Generate documentation | |
12 # make clean | |
13 # Delete all files created by build process | |
14 | |
15 # Essentials | |
16 | |
17 LIBDIR=..\..\..\lib | |
18 DOCDIR=..\..\..\doc | |
19 IMPDIR=..\..\..\import | |
20 LIBBASENAME=druntime_rt_dmd.lib | |
21 #MODULES=bitop exception memory runtime thread vararg \ | |
22 # $(addprefix sync/,barrier condition config exception mutex rwmutex semaphore) | |
23 BUILDS=debug release unittest | |
24 | |
25 MODULES_BASE= \ | |
26 aaA.d \ | |
27 aApply.d \ | |
28 aApplyR.d \ | |
29 adi.d \ | |
30 arrayassign.d \ | |
31 arraybyte.d \ | |
32 arraycast.d \ | |
33 arraycat.d \ | |
34 arraydouble.d \ | |
35 arrayfloat.d \ | |
36 arrayint.d \ | |
37 arrayreal.d \ | |
38 arrayshort.d \ | |
39 cast_.d \ | |
40 cover.d \ | |
41 dmain2.d \ | |
42 invariant.d \ | |
43 invariant_.d \ | |
44 lifetime.d \ | |
45 memory.d \ | |
46 memset.d \ | |
47 obj.d \ | |
48 object_.d \ | |
49 qsort.d \ | |
50 switch_.d \ | |
51 trace.d | |
52 # NOTE: trace.d and cover.d are not necessary for a successful build | |
53 # as both are used for debugging features (profiling and coverage) | |
54 # NOTE: a pre-compiled minit.obj has been provided in dmd for Win32 and | |
55 # minit.asm is not used by dmd for Linux | |
56 | |
57 MODULES_UTIL= \ | |
58 util\console.d \ | |
59 util\cpuid.d \ | |
60 util\ctype.d \ | |
61 util\string.d \ | |
62 util\utf.d | |
63 | |
64 MODULES_TI= \ | |
65 typeinfo\ti_AC.d \ | |
66 typeinfo\ti_Acdouble.d \ | |
67 typeinfo\ti_Acfloat.d \ | |
68 typeinfo\ti_Acreal.d \ | |
69 typeinfo\ti_Adouble.d \ | |
70 typeinfo\ti_Afloat.d \ | |
71 typeinfo\ti_Ag.d \ | |
72 typeinfo\ti_Aint.d \ | |
73 typeinfo\ti_Along.d \ | |
74 typeinfo\ti_Areal.d \ | |
75 typeinfo\ti_Ashort.d \ | |
76 typeinfo\ti_byte.d \ | |
77 typeinfo\ti_C.d \ | |
78 typeinfo\ti_cdouble.d \ | |
79 typeinfo\ti_cfloat.d \ | |
80 typeinfo\ti_char.d \ | |
81 typeinfo\ti_creal.d \ | |
82 typeinfo\ti_dchar.d \ | |
83 typeinfo\ti_delegate.d \ | |
84 typeinfo\ti_double.d \ | |
85 typeinfo\ti_float.d \ | |
86 typeinfo\ti_idouble.d \ | |
87 typeinfo\ti_ifloat.d \ | |
88 typeinfo\ti_int.d \ | |
89 typeinfo\ti_ireal.d \ | |
90 typeinfo\ti_long.d \ | |
91 typeinfo\ti_ptr.d \ | |
92 typeinfo\ti_real.d \ | |
93 typeinfo\ti_short.d \ | |
94 typeinfo\ti_ubyte.d \ | |
95 typeinfo\ti_uint.d \ | |
96 typeinfo\ti_ulong.d \ | |
97 typeinfo\ti_ushort.d \ | |
98 typeinfo\ti_void.d \ | |
99 typeinfo\ti_wchar.d | |
100 | |
101 C_SRCS=complex.c critical.c deh.c monitor.c | |
102 | |
103 # Symbols | |
104 | |
105 CC=dmc | |
106 DMD=dmd | |
107 DOCFLAGS=-version=DDoc | |
108 DFLAGS_release=-d -release -O -inline -w -nofloat | |
109 DFLAGS_debug=-d -g -w -nofloat | |
110 DFLAGS_unittest=$(DFLAGS_release) -unittest | |
111 CFLAGS_release=-mn -6 -r | |
112 CFLAGS_debug=-g -mn -6 -r | |
113 CFLAGS_unittest=$(CFLAGS_release) | |
114 | |
115 # Derived symbols | |
116 | |
117 C_OBJS=complex.obj critical.obj deh.obj monitor.obj | |
118 AS_OBJS=minit.obj | |
119 ALL_MODULES=$(MODULES_BASE) $(MODULES_UTIL) $(MODULES_TI) | |
120 D_SRCS=$(ALL_MODULES) | |
121 ALLLIBS=\ | |
122 $(LIBDIR)\debug\$(LIBBASENAME) \ | |
123 $(LIBDIR)\release\$(LIBBASENAME) \ | |
124 $(LIBDIR)\unittest\$(LIBBASENAME) | |
125 | |
126 # Patterns | |
127 | |
128 #$(LIBDIR)\%\$(LIBBASENAME) : $(D_SRCS) $(C_SRCS) $(AS_OBJS) | |
129 # $(CC) -c $(CFLAGS_$*) $(C_SRCS) | |
130 # $(DMD) $(DFLAGS_$*) -lib -of$@ $(D_SRCS) $(C_OBJS) $(AS_OBJS) | |
131 # del $(C_OBJS) | |
132 | |
133 #$(DOCDIR)\%.html : %.d | |
134 # $(DMD) -c -d -o- -Df$@ $< | |
135 | |
136 #$(IMPDIR)\%.di : %.d | |
137 # $(DMD) -c -d -o- -Hf$@ $< | |
138 | |
139 # Patterns - debug | |
140 | |
141 $(LIBDIR)\debug\$(LIBBASENAME) : $(D_SRCS) $(C_SRCS) $(AS_OBJS) | |
142 $(CC) -c $(CFLAGS_debug) $(C_SRCS) | |
143 $(DMD) $(DFLAGS_debug) -lib -of$@ $(D_SRCS) $(C_OBJS) $(AS_OBJS) | |
144 del $(C_OBJS) | |
145 | |
146 # Patterns - release | |
147 | |
148 $(LIBDIR)\release\$(LIBBASENAME) : $(D_SRCS) $(C_SRCS) $(AS_OBJS) | |
149 $(CC) -c $(CFLAGS_release) $(C_SRCS) | |
150 $(DMD) $(DFLAGS_release) -lib -of$@ $(D_SRCS) $(C_OBJS) $(AS_OBJS) | |
151 del $(C_OBJS) | |
152 | |
153 # Patterns - unittest | |
154 | |
155 $(LIBDIR)\unittest\$(LIBBASENAME) : $(D_SRCS) $(C_SRCS) $(AS_OBJS) | |
156 $(CC) -c $(CFLAGS_unittest) $(C_SRCS) | |
157 $(DMD) $(DFLAGS_unittest) -lib -of$@ $(D_SRCS) $(C_OBJS) $(AS_OBJS) | |
158 del $(C_OBJS) | |
159 | |
160 # Patterns - asm | |
161 | |
162 minit.obj : minit.asm | |
163 $(CC) -c $** | |
164 | |
165 # Rulez | |
166 | |
167 all : $(BUILDS) doc | |
168 | |
169 debug : $(LIBDIR)\debug\$(LIBBASENAME) $(IMPORTS) | |
170 release : $(LIBDIR)\release\$(LIBBASENAME) $(IMPORTS) | |
171 unittest : $(LIBDIR)\unittest\$(LIBBASENAME) $(IMPORTS) | |
172 #doc : $(DOCS) | |
173 | |
174 clean : | |
175 del $(IMPORTS) $(DOCS) $(ALLLIBS) |