Skip to content

Commit 66003ca

Browse files
committed
Use a common Makefile for win{32,64}.mak
1 parent 85c147e commit 66003ca

3 files changed

Lines changed: 398 additions & 741 deletions

File tree

mak/import_win.mak

Lines changed: 394 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,394 @@
1+
# Common parts shared between win32.mak and win64.mak
2+
3+
# Copy command
4+
5+
CP=cp
6+
7+
## Directory where dmd has been installed
8+
9+
DIR=\dmd2
10+
11+
# D compiler
12+
DMD_DIR=..\dmd
13+
BUILD=release
14+
OS=windows
15+
DMD=$(DMD_DIR)\generated\$(OS)\$(BUILD)\$(MODEL)\dmd
16+
17+
# Make
18+
19+
MAKE=make
20+
21+
################################################################################
22+
# Flags
23+
################################################################################
24+
25+
# Flags for dmd D compiler
26+
DFLAGS=-conf= -m$(MODEL) -O -release -w -de -dip25 -I$(DRUNTIME)\import
27+
28+
# Flags for compiling unittests
29+
30+
UDFLAGS=-conf= -g -m$(MODEL) -O -w -dip25 -I$(DRUNTIME)\import
31+
32+
################################################################################
33+
# Libraries
34+
################################################################################
35+
36+
DRUNTIME=..\druntime
37+
DRUNTIMELIB=$(DRUNTIME)\lib\druntime$(LIBEXT).lib
38+
39+
ZLIB=etc\c\zlib\zlib$(LIBEXT).lib
40+
41+
LIB=phobos$(LIBEXT).lib
42+
43+
################################################################################
44+
# Source files
45+
################################################################################
46+
47+
SRC= \
48+
unittest.d \
49+
index.d
50+
51+
# The separation is a workaround for bug 4904 (optlink bug 3372).
52+
SRC_STD_1= \
53+
std\stdio.d \
54+
std\string.d \
55+
std\format.d \
56+
std\file.d
57+
58+
SRC_STD_2a= \
59+
std\array.d \
60+
std\functional.d \
61+
std\path.d \
62+
std\outbuffer.d \
63+
std\utf.d
64+
65+
SRC_STD_3= \
66+
std\csv.d \
67+
std\complex.d \
68+
std\numeric.d \
69+
std\bigint.d
70+
71+
SRC_STD_3a= \
72+
std\math.d
73+
74+
SRC_STD_3b= \
75+
std\uni.d \
76+
std\base64.d \
77+
std\ascii.d \
78+
std\demangle.d \
79+
std\uri.d \
80+
std\mmfile.d \
81+
std\getopt.d
82+
83+
SRC_STD_3c= \
84+
std\signals.d \
85+
std\meta.d \
86+
std\typetuple.d \
87+
std\traits.d \
88+
std\encoding.d \
89+
std\xml.d \
90+
std\random.d \
91+
std\exception.d \
92+
std\compiler.d \
93+
std\system.d \
94+
std\concurrency.d
95+
96+
SRC_STD_3d= \
97+
std\bitmanip.d \
98+
std\typecons.d
99+
100+
SRC_STD_4= \
101+
std\uuid.d
102+
103+
SRC_STD_6a=std\variant.d
104+
SRC_STD_6c=std\zlib.d
105+
SRC_STD_6e=std\socket.d
106+
SRC_STD_6h=std\conv.d
107+
SRC_STD_6i=std\zip.d
108+
109+
SRC_STD_7= \
110+
std\stdint.d \
111+
std\json.d \
112+
std\parallelism.d \
113+
std\mathspecial.d \
114+
std\process.d
115+
116+
SRC_STD= \
117+
$(SRC_STD_1) \
118+
$(SRC_STD_2a) \
119+
$(SRC_STD_3) \
120+
$(SRC_STD_3a) \
121+
$(SRC_STD_3b) \
122+
$(SRC_STD_3c) \
123+
$(SRC_STD_3d) \
124+
$(SRC_STD_4) \
125+
$(SRC_STD_6a) \
126+
$(SRC_STD_6c) \
127+
$(SRC_STD_6e) \
128+
$(SRC_STD_6h) \
129+
$(SRC_STD_6i) \
130+
$(SRC_STD_7)
131+
132+
SRC_STD_ALGO_1= \
133+
std\algorithm\package.d \
134+
std\algorithm\comparison.d \
135+
std\algorithm\iteration.d \
136+
std\algorithm\mutation.d
137+
138+
SRC_STD_ALGO_2= \
139+
std\algorithm\searching.d \
140+
std\algorithm\setops.d
141+
142+
SRC_STD_ALGO_3= \
143+
std\algorithm\sorting.d \
144+
std\algorithm\internal.d
145+
146+
SRC_STD_ALGO= \
147+
$(SRC_STD_ALGO_1) \
148+
$(SRC_STD_ALGO_2) \
149+
$(SRC_STD_ALGO_3)
150+
151+
SRC_STD_CONTAINER= \
152+
std\container\array.d \
153+
std\container\binaryheap.d \
154+
std\container\dlist.d \
155+
std\container\rbtree.d \
156+
std\container\slist.d \
157+
std\container\util.d \
158+
std\container\package.d
159+
160+
SRC_STD_DATETIME= \
161+
std\datetime\date.d \
162+
std\datetime\interval.d \
163+
std\datetime\package.d \
164+
std\datetime\stopwatch.d \
165+
std\datetime\systime.d \
166+
std\datetime\timezone.d
167+
168+
SRC_STD_DIGEST= \
169+
std\digest\crc.d \
170+
std\digest\sha.d \
171+
std\digest\md.d \
172+
std\digest\ripemd.d \
173+
std\digest\digest.d \
174+
std\digest\hmac.d \
175+
std\digest\murmurhash.d \
176+
std\digest\package.d
177+
178+
SRC_STD_NET= \
179+
std\net\isemail.d \
180+
std\net\curl.d
181+
182+
SRC_STD_RANGE= \
183+
std\range\package.d \
184+
std\range\primitives.d \
185+
std\range\interfaces.d
186+
187+
SRC_STD_REGEX= \
188+
std\regex\internal\ir.d \
189+
std\regex\package.d \
190+
std\regex\internal\parser.d \
191+
std\regex\internal\tests.d \
192+
std\regex\internal\backtracking.d \
193+
std\regex\internal\thompson.d \
194+
std\regex\internal\kickstart.d \
195+
std\regex\internal\generator.d
196+
197+
SRC_STD_C= \
198+
std\c\process.d \
199+
std\c\stdlib.d \
200+
std\c\time.d \
201+
std\c\stdio.d \
202+
std\c\math.d \
203+
std\c\stdarg.d \
204+
std\c\stddef.d \
205+
std\c\fenv.d \
206+
std\c\string.d \
207+
std\c\locale.d \
208+
std\c\wcharh.d
209+
210+
SRC_STD_WIN= \
211+
std\windows\registry.d \
212+
std\windows\iunknown.d \
213+
std\windows\syserror.d \
214+
std\windows\charset.d
215+
216+
SRC_STD_C_WIN= \
217+
std\c\windows\windows.d \
218+
std\c\windows\com.d \
219+
std\c\windows\winsock.d \
220+
std\c\windows\stat.d
221+
222+
SRC_STD_C_LINUX= \
223+
std\c\linux\linux.d \
224+
std\c\linux\socket.d \
225+
std\c\linux\pthread.d \
226+
std\c\linux\termios.d \
227+
std\c\linux\tipc.d
228+
229+
SRC_STD_C_OSX= \
230+
std\c\osx\socket.d
231+
232+
SRC_STD_C_FREEBSD= \
233+
std\c\freebsd\socket.d
234+
235+
SRC_STD_INTERNAL= \
236+
std\internal\cstring.d \
237+
std\internal\unicode_tables.d \
238+
std\internal\unicode_comp.d \
239+
std\internal\unicode_decomp.d \
240+
std\internal\unicode_grapheme.d \
241+
std\internal\unicode_norm.d \
242+
std\internal\scopebuffer.d \
243+
std\internal\test\dummyrange.d \
244+
std\internal\test\range.d
245+
246+
SRC_STD_INTERNAL_DIGEST= \
247+
std\internal\digest\sha_SSSE3.d
248+
249+
SRC_STD_INTERNAL_MATH= \
250+
std\internal\math\biguintcore.d \
251+
std\internal\math\biguintnoasm.d \
252+
std\internal\math\biguintx86.d \
253+
std\internal\math\gammafunction.d \
254+
std\internal\math\errorfunction.d
255+
256+
SRC_STD_INTERNAL_WINDOWS= \
257+
std\internal\windows\advapi32.d
258+
259+
SRC_STD_EXP= \
260+
std\experimental\checkedint.d std\experimental\typecons.d
261+
262+
SRC_STD_EXP_ALLOC_BB= \
263+
std\experimental\allocator\building_blocks\affix_allocator.d \
264+
std\experimental\allocator\building_blocks\allocator_list.d \
265+
std\experimental\allocator\building_blocks\ascending_page_allocator.d \
266+
std\experimental\allocator\building_blocks\bitmapped_block.d \
267+
std\experimental\allocator\building_blocks\bucketizer.d \
268+
std\experimental\allocator\building_blocks\fallback_allocator.d \
269+
std\experimental\allocator\building_blocks\free_list.d \
270+
std\experimental\allocator\building_blocks\free_tree.d \
271+
std\experimental\allocator\building_blocks\kernighan_ritchie.d \
272+
std\experimental\allocator\building_blocks\null_allocator.d \
273+
std\experimental\allocator\building_blocks\quantizer.d \
274+
std\experimental\allocator\building_blocks\region.d \
275+
std\experimental\allocator\building_blocks\scoped_allocator.d \
276+
std\experimental\allocator\building_blocks\segregator.d \
277+
std\experimental\allocator\building_blocks\stats_collector.d \
278+
std\experimental\allocator\building_blocks\package.d
279+
280+
SRC_STD_EXP_ALLOC= \
281+
std\experimental\allocator\common.d \
282+
std\experimental\allocator\gc_allocator.d \
283+
std\experimental\allocator\mallocator.d \
284+
std\experimental\allocator\mmap_allocator.d \
285+
std\experimental\allocator\showcase.d \
286+
std\experimental\allocator\typed.d \
287+
std\experimental\allocator\package.d \
288+
$(SRC_STD_EXP_ALLOC_BB)
289+
290+
SRC_STD_EXP_LOGGER= \
291+
std\experimental\logger\core.d \
292+
std\experimental\logger\filelogger.d \
293+
std\experimental\logger\multilogger.d \
294+
std\experimental\logger\nulllogger.d \
295+
std\experimental\logger\package.d
296+
297+
SRC_ETC=
298+
299+
SRC_ETC_C= \
300+
etc\c\zlib.d \
301+
etc\c\curl.d \
302+
etc\c\sqlite3.d \
303+
etc\c\odbc\sql.d \
304+
etc\c\odbc\sqlext.d \
305+
etc\c\odbc\sqltypes.d \
306+
etc\c\odbc\sqlucode.d
307+
308+
SRC_TO_COMPILE= \
309+
$(SRC_STD) \
310+
$(SRC_STD_ALGO) \
311+
$(SRC_STD_CONTAINER) \
312+
$(SRC_STD_DATETIME) \
313+
$(SRC_STD_DIGEST) \
314+
$(SRC_STD_NET) \
315+
$(SRC_STD_RANGE) \
316+
$(SRC_STD_REGEX) \
317+
$(SRC_STD_C) \
318+
$(SRC_STD_WIN) \
319+
$(SRC_STD_C_WIN) \
320+
$(SRC_STD_INTERNAL) \
321+
$(SRC_STD_INTERNAL_DIGEST) \
322+
$(SRC_STD_INTERNAL_MATH) \
323+
$(SRC_STD_INTERNAL_WINDOWS) \
324+
$(SRC_STD_EXP) \
325+
$(SRC_STD_EXP_ALLOC) \
326+
$(SRC_STD_EXP_LOGGER) \
327+
$(SRC_ETC) \
328+
$(SRC_ETC_C)
329+
330+
SRC_ZLIB= \
331+
etc\c\zlib\crc32.h \
332+
etc\c\zlib\deflate.h \
333+
etc\c\zlib\gzguts.h \
334+
etc\c\zlib\inffixed.h \
335+
etc\c\zlib\inffast.h \
336+
etc\c\zlib\inftrees.h \
337+
etc\c\zlib\inflate.h \
338+
etc\c\zlib\trees.h \
339+
etc\c\zlib\zconf.h \
340+
etc\c\zlib\zlib.h \
341+
etc\c\zlib\zutil.h \
342+
etc\c\zlib\adler32.c \
343+
etc\c\zlib\compress.c \
344+
etc\c\zlib\crc32.c \
345+
etc\c\zlib\deflate.c \
346+
etc\c\zlib\example.c \
347+
etc\c\zlib\gzclose.c \
348+
etc\c\zlib\gzlib.c \
349+
etc\c\zlib\gzread.c \
350+
etc\c\zlib\gzwrite.c \
351+
etc\c\zlib\infback.c \
352+
etc\c\zlib\inffast.c \
353+
etc\c\zlib\inflate.c \
354+
etc\c\zlib\inftrees.c \
355+
etc\c\zlib\minigzip.c \
356+
etc\c\zlib\trees.c \
357+
etc\c\zlib\uncompr.c \
358+
etc\c\zlib\zutil.c \
359+
etc\c\zlib\algorithm.txt \
360+
etc\c\zlib\zlib.3 \
361+
etc\c\zlib\ChangeLog \
362+
etc\c\zlib\README \
363+
etc\c\zlib\win32.mak \
364+
etc\c\zlib\win64.mak \
365+
etc\c\zlib\linux.mak \
366+
etc\c\zlib\osx.mak
367+
368+
UNITTEST_OBJS= \
369+
unittest1.obj \
370+
unittest2.obj \
371+
unittest2a.obj \
372+
unittest3.obj \
373+
unittest3a.obj \
374+
unittest3b.obj \
375+
unittest3c.obj \
376+
unittest3d.obj \
377+
unittest4.obj \
378+
unittest5a.obj \
379+
unittest5b.obj \
380+
unittest5c.obj \
381+
unittest6a.obj \
382+
unittest6c.obj \
383+
unittest6e.obj \
384+
unittest6g.obj \
385+
unittest6h.obj \
386+
unittest6i.obj \
387+
unittest7.obj \
388+
unittest8a.obj \
389+
unittest8b.obj \
390+
unittest8c.obj \
391+
unittest8d.obj \
392+
unittest8e.obj \
393+
unittest8f.obj \
394+
unittest9.obj

0 commit comments

Comments
 (0)