X-Git-Url: https://git.llucax.com/software/druntime.git/blobdiff_plain/24f79eca36d0f4294eb276ac777b2a27dfb060dd..HEAD:/src/common/win32.mak diff --git a/src/common/win32.mak b/src/common/win32.mak index 7e23e7a..df7b912 100644 --- a/src/common/win32.mak +++ b/src/common/win32.mak @@ -1,130 +1,155 @@ -# 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_TARGET=druntime-core.lib -LIB_MASK=druntime-core*.lib - -CP=xcopy /y -RM=del /f -MD=mkdir - -ADD_CFLAGS= -ADD_DFLAGS= - -CFLAGS=-mn -6 -r $(ADD_CFLAGS) -#CFLAGS=-g -mn -6 -r $(ADD_CFLAGS) - -DFLAGS=-release -O -inline -w -nofloat $(ADD_DFLAGS) -#DFLAGS=-g -w -nofloat $(ADD_DFLAGS) - -TFLAGS=-O -inline -w -nofloat $(ADD_DFLAGS) -#TFLAGS=-g -w -nofloat $(ADD_DFLAGS) - -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 - -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 - -ALL_DOCS= - -###################################################### - -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$@ - -###################################################### - -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)\. +# 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)\.