X-Git-Url: https://git.llucax.com/software/druntime.git/blobdiff_plain/5a07183e26b7ca151959629420a83f59af5339f3..HEAD:/src/gc/stub/win32.mak?ds=sidebyside diff --git a/src/gc/stub/win32.mak b/src/gc/stub/win32.mak index 9fc4e1a..b412be4 100644 --- a/src/gc/stub/win32.mak +++ b/src/gc/stub/win32.mak @@ -1,95 +1,110 @@ -# Makefile to build the garbage collector D library for Win32 -# Designed to work with DigitalMars make -# Targets: -# make -# Same as make all -# make lib -# Build the garbage collector library -# make doc -# Generate documentation -# make clean -# Delete unneeded files created by build process - -LIB_TARGET=tango-gc-stub.lib -LIB_MASK=tango-gc-stub*.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) - -### warnings disabled because gcx has issues ### - -DFLAGS=-release -O -inline $(ADD_DFLAGS) -#DFLAGS=-g -release $(ADD_DFLAGS) - -TFLAGS=-O -inline $(ADD_DFLAGS) -#TFLAGS=-g $(ADD_DFLAGS) - -DOCFLAGS=-version=DDoc - -CC=dmc -LC=lib -DC=dmd - -LIB_DEST=.. - -.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) $< -of$@ - -.d.html: - $(DC) -c -o- $(DOCFLAGS) -Df$*.html $< -# $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $< - -targets : lib doc -all : lib doc -lib : stub.lib -doc : stub.doc - -###################################################### - -ALL_OBJS= \ - gc.obj - -###################################################### - -ALL_DOCS= - -###################################################### - -stub.lib : $(LIB_TARGET) - -$(LIB_TARGET) : $(ALL_OBJS) - $(RM) $@ - $(LC) -c -n $@ $(ALL_OBJS) - -stub.doc : $(ALL_DOCS) - @echo No documentation available. - -###################################################### - -clean : - $(RM) /s *.di - $(RM) $(ALL_OBJS) - $(RM) $(ALL_DOCS) - $(RM) $(LIB_MASK) - -install : - $(MD) $(LIB_DEST) - $(CP) $(LIB_MASK) $(LIB_DEST)\. +# Makefile to build the garbage collector D library for Win32 +# Designed to work with DigitalMars make +# Targets: +# make +# Same as make all +# make lib +# Build the garbage collector library +# make doc +# Generate documentation +# make clean +# Delete unneeded files created by build process + +LIB_BASE=druntime-gc-stub +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 + +LIB_DEST=..\..\..\lib + +.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) $< -of$@ + +.d.html: + $(DC) -c -o- $(DOCFLAGS) -Df$*.html $< +# $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $< + +targets : lib doc +all : lib doc +lib : stub.lib +doc : stub.doc + +###################################################### + +ALL_OBJS= \ + gc.obj + +###################################################### + +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)" + +###################################################### + +stub.lib : $(LIB_TARGET) + +$(LIB_TARGET) : $(ALL_OBJS) + $(RM) $@ + $(LC) -c -n $@ $(ALL_OBJS) + +stub.doc : $(ALL_DOCS) + @echo No documentation available. + +###################################################### + +clean : + $(RM) /s *.di + $(RM) $(ALL_OBJS) + $(RM) $(ALL_DOCS) + $(RM) $(LIB_MASK) + +install : + $(MD) $(LIB_DEST) + $(CP) $(LIB_MASK) $(LIB_DEST)\. + copy gc.obj $(LIB_DEST)\gcstub.obj