-# Makefile to build the D runtime library core components for Win32\r
-# Designed to work with DigitalMars make\r
-# Targets:\r
-# make\r
-# Same as make all\r
-# make lib\r
-# Build the common library\r
-# make doc\r
-# Generate documentation\r
-# make clean\r
-# Delete unneeded files created by build process\r
-\r
-LIB_TARGET=druntime-core.lib\r
-LIB_MASK=druntime-core*.lib\r
-\r
-CP=xcopy /y\r
-RM=del /f\r
-MD=mkdir\r
-\r
-ADD_CFLAGS=\r
-ADD_DFLAGS=\r
-\r
-CFLAGS=-mn -6 -r $(ADD_CFLAGS)\r
-#CFLAGS=-g -mn -6 -r $(ADD_CFLAGS)\r
-\r
-DFLAGS=-release -O -inline -w -nofloat $(ADD_DFLAGS)\r
-#DFLAGS=-g -w -nofloat $(ADD_DFLAGS)\r
-\r
-TFLAGS=-O -inline -w -nofloat $(ADD_DFLAGS)\r
-#TFLAGS=-g -w -nofloat $(ADD_DFLAGS)\r
-\r
-DOCFLAGS=-version=DDoc\r
-\r
-CC=dmc\r
-LC=lib\r
-DC=dmd\r
-\r
-INC_DEST=..\..\import\r
-LIB_DEST=..\..\lib\r
-DOC_DEST=..\..\doc\r
-\r
-.DEFAULT: .asm .c .cpp .d .html .obj\r
-\r
-.asm.obj:\r
- $(CC) -c $<\r
-\r
-.c.obj:\r
- $(CC) -c $(CFLAGS) $< -o$@\r
-\r
-.cpp.obj:\r
- $(CC) -c $(CFLAGS) $< -o$@\r
-\r
-.d.obj:\r
- $(DC) -c $(DFLAGS) -Hf$*.di $< -of$@\r
-# $(DC) -c $(DFLAGS) $< -of$@\r
-\r
-.d.html:\r
- $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<\r
-\r
-targets : lib doc\r
-all : lib doc\r
-core : lib\r
-lib : core.lib\r
-doc : core.doc\r
-\r
-######################################################\r
-\r
-OBJ_CORE= \\r
- core\bitmanip.obj \\r
- core\exception.obj \\r
- core\memory.obj \\r
- core\runtime.obj \\r
- core\thread.obj\r
-\r
-OBJ_STDC= \\r
- core\stdc\errno.obj\r
-\r
-ALL_OBJS= \\r
- $(OBJ_CORE) \\r
- $(OBJ_STDC)\r
-\r
-######################################################\r
-\r
-DOC_CORE= \\r
- core\bitmanip.html \\r
- core\exception.html \\r
- core\memory.html \\r
- core\runtime.html \\r
- core\thread.html\r
-\r
-ALL_DOCS=\r
-\r
-######################################################\r
-\r
-core.lib : $(LIB_TARGET)\r
-\r
-$(LIB_TARGET) : $(ALL_OBJS)\r
- $(RM) $@\r
- $(LC) -c -n $@ $(ALL_OBJS)\r
-\r
-core.doc : $(ALL_DOCS)\r
- @echo Documentation generated.\r
-\r
-######################################################\r
-\r
-### bitmanip\r
-\r
-core\bitmanip.obj : core\bitmanip.d\r
- $(DC) -c $(DFLAGS) core\bitmanip.d -of$@\r
-\r
-### thread\r
-\r
-core\thread.obj : core\thread.d\r
- $(DC) -c $(DFLAGS) -d -Hf$*.di core\thread.d -of$@\r
-\r
-######################################################\r
-\r
-clean :\r
- $(RM) /s .\*.di\r
- $(RM) $(ALL_OBJS)\r
- $(RM) $(ALL_DOCS)\r
- $(RM) $(LIB_MASK)\r
-\r
-install :\r
- $(MD) $(INC_DEST)\.\r
- $(CP) /s *.di $(INC_DEST)\.\r
- $(MD) $(DOC_DEST)\r
- $(CP) /s *.html $(DOC_DEST)\.\r
- $(MD) $(LIB_DEST)\r
- $(CP) $(LIB_MASK) $(LIB_DEST)\.\r
+# Makefile to build the D runtime library core components for Win32
+# Designed to work with DigitalMars make
+# Targets:
+# make
+# Same as make all
+# make lib
+# Build the common library
+# make doc
+# Generate documentation
+# make clean
+# Delete unneeded files created by build process
+
+LIB_BASE=druntime-core
+LIB_BUILD=
+LIB_TARGET=$(LIB_BASE)$(LIB_BUILD).lib
+LIB_MASK=$(LIB_BASE)*.lib
+
+CP=xcopy /y
+RM=del /f
+MD=mkdir
+
+ADD_CFLAGS=
+ADD_DFLAGS=
+
+CFLAGS_RELEASE=-mn -6 -r $(ADD_CFLAGS)
+CFLAGS_DEBUG=-g -mn -6 -r $(ADD_CFLAGS)
+CFLAGS=$(CFLAGS_RELEASE)
+
+DFLAGS_RELEASE=-release -O -inline -w -nofloat $(ADD_DFLAGS)
+DFLAGS_DEBUG=-g -w -nofloat $(ADD_DFLAGS)
+DFLAGS=$(DFLAGS_RELEASE)
+
+TFLAGS_RELEASE=-O -inline -w -nofloat $(ADD_DFLAGS)
+TFLAGS_DEBUG=-g -w -nofloat $(ADD_DFLAGS)
+TFLAGS=$(TFLAGS_RELEASE)
+
+DOCFLAGS=-version=DDoc
+
+CC=dmc
+LC=lib
+DC=dmd
+
+INC_DEST=..\..\import
+LIB_DEST=..\..\lib
+DOC_DEST=..\..\doc
+
+.DEFAULT: .asm .c .cpp .d .html .obj
+
+.asm.obj:
+ $(CC) -c $<
+
+.c.obj:
+ $(CC) -c $(CFLAGS) $< -o$@
+
+.cpp.obj:
+ $(CC) -c $(CFLAGS) $< -o$@
+
+.d.obj:
+ $(DC) -c $(DFLAGS) -Hf$*.di $< -of$@
+# $(DC) -c $(DFLAGS) $< -of$@
+
+.d.html:
+ $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<
+
+targets : lib doc
+all : lib doc
+core : lib
+lib : core.lib
+doc : core.doc
+
+######################################################
+
+OBJ_CORE= \
+ core\bitmanip.obj \
+ core\exception.obj \
+ core\memory.obj \
+ core\runtime.obj \
+ core\thread.obj \
+ core\vararg.obj
+
+OBJ_STDC= \
+ core\stdc\errno.obj
+
+ALL_OBJS= \
+ $(OBJ_CORE) \
+ $(OBJ_STDC)
+
+######################################################
+
+DOC_CORE= \
+ core\bitmanip.html \
+ core\exception.html \
+ core\memory.html \
+ core\runtime.html \
+ core\thread.html \
+ core\vararg.html
+
+######################################################
+
+ALL_DOCS=
+
+######################################################
+
+unittest :
+ make -fwin32.mak DC="$(DC)" LIB_BUILD="" DFLAGS="$(DFLAGS_RELEASE) -unittest"
+
+release :
+ make -fwin32.mak DC="$(DC)" LIB_BUILD="" DFLAGS="$(DFLAGS_RELEASE)"
+
+debug :
+ make -fwin32.mak DC="$(DC)" LIB_BUILD="-d" DFLAGS="$(DFLAGS_DEBUG)"
+
+######################################################
+
+core.lib : $(LIB_TARGET)
+
+$(LIB_TARGET) : $(ALL_OBJS)
+ $(RM) $@
+ $(LC) -c -n $@ $(ALL_OBJS)
+
+core.doc : $(ALL_DOCS)
+ @echo Documentation generated.
+
+######################################################
+
+### bitmanip
+
+core\bitmanip.obj : core\bitmanip.d
+ $(DC) -c $(DFLAGS) core\bitmanip.d -of$@
+
+### thread
+
+core\thread.obj : core\thread.d
+ $(DC) -c $(DFLAGS) -d -Hf$*.di core\thread.d -of$@
+
+### vararg
+
+core\vararg.obj : core\vararg.d
+ $(DC) -c $(TFLAGS) -Hf$*.di core\vararg.d -of$@
+
+######################################################
+
+clean :
+ $(RM) /s .\*.di
+ $(RM) $(ALL_OBJS)
+ $(RM) $(ALL_DOCS)
+ $(RM) $(LIB_MASK)
+
+install :
+ $(MD) $(INC_DEST)\.
+ $(CP) /s *.di $(INC_DEST)\.
+ $(MD) $(DOC_DEST)
+ $(CP) /s *.html $(DOC_DEST)\.
+ $(MD) $(LIB_DEST)
+ $(CP) $(LIB_MASK) $(LIB_DEST)\.