X-Git-Url: https://git.llucax.com/software/druntime.git/blobdiff_plain/5a07183e26b7ca151959629420a83f59af5339f3..ee20c715e3f0be23c1732938dc222d436464c254:/src/gc/stub/posix.mak diff --git a/src/gc/stub/posix.mak b/src/gc/stub/posix.mak index 038233e..0e1f3d1 100644 --- a/src/gc/stub/posix.mak +++ b/src/gc/stub/posix.mak @@ -1,98 +1,112 @@ -# Makefile to build the garbage collector D library for Posix -# Designed to work with GNU 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=druntime-gc-stub.a -LIB_MASK=druntime-gc-stub*.a - -CP=cp -f -RM=rm -f -MD=mkdir -p - -ADD_CFLAGS= -ADD_DFLAGS= - -CFLAGS=-O -m32 $(ADD_CFLAGS) -#CFLAGS=-g -m32 $(ADD_CFLAGS) - -### warnings disabled because gcx has issues ### - -DFLAGS=-release -O -inline -version=Posix $(ADD_DFLAGS) -#DFLAGS=-g -version=Posix $(ADD_DFLAGS) - -TFLAGS=-O -inline -version=Posix $(ADD_DFLAGS) -#TFLAGS=-g -version=Posix $(ADD_DFLAGS) - -DOCFLAGS=-version=DDoc -version=Posix - -CC=gcc -LC=$(AR) -qsv -DC=dmd - -LIB_DEST=.. - -.SUFFIXES: .s .S .c .cpp .d .html .o - -.s.o: - $(CC) -c $(CFLAGS) $< -o$@ - -.S.o: - $(CC) -c $(CFLAGS) $< -o$@ - -.c.o: - $(CC) -c $(CFLAGS) $< -o$@ - -.cpp.o: - g++ -c $(CFLAGS) $< -o$@ - -.d.o: - $(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.o - -###################################################### - -ALL_DOCS= - -###################################################### - -stub.lib : $(LIB_TARGET) - -$(LIB_TARGET) : $(ALL_OBJS) - $(RM) $@ - $(LC) $@ $(ALL_OBJS) - -stub.doc : $(ALL_DOCS) - echo No documentation available. - -###################################################### - -clean : - find . -name "*.di" | xargs $(RM) - $(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 Posix +# Designed to work with GNU 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=libdruntime-gc-stub +LIB_BUILD= +LIB_TARGET=$(LIB_BASE)$(LIB_BUILD).a +LIB_MASK=$(LIB_BASE)*.a + +CP=cp -f +RM=rm -f +MD=mkdir -p + +ADD_CFLAGS= +ADD_DFLAGS= + +CFLAGS_RELEASE=-O $(ADD_CFLAGS) +CFLAGS_DEBUG=-g $(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=gcc +LC=$(AR) -qsv +DC=dmd + +LIB_DEST=../../../lib + +.SUFFIXES: .s .S .c .cpp .d .html .o + +.s.o: + $(CC) -c $(CFLAGS) $< -o$@ + +.S.o: + $(CC) -c $(CFLAGS) $< -o$@ + +.c.o: + $(CC) -c $(CFLAGS) $< -o$@ + +.cpp.o: + g++ -c $(CFLAGS) $< -o$@ + +.d.o: + $(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.o + +###################################################### + +ALL_DOCS= + +###################################################### + +unittest : + make -fposix.mak DC="$(DC)" LIB_BUILD="" DFLAGS="$(DFLAGS_RELEASE) -unittest" + +release : + make -fposix.mak DC="$(DC)" LIB_BUILD="" DFLAGS="$(DFLAGS_RELEASE)" + +debug : + make -fposix.mak DC="$(DC)" LIB_BUILD="-d" DFLAGS="$(DFLAGS_DEBUG)" + +###################################################### + +stub.lib : $(LIB_TARGET) + +$(LIB_TARGET) : $(ALL_OBJS) + $(RM) $@ + $(LC) $@ $(ALL_OBJS) + +stub.doc : $(ALL_DOCS) + echo No documentation available. + +###################################################### + +clean : + find . -name "*.di" | xargs $(RM) + $(RM) $(ALL_OBJS) + $(RM) $(ALL_DOCS) + $(RM) $(LIB_MASK) + +install : + $(MD) $(LIB_DEST) + $(CP) $(LIB_MASK) $(LIB_DEST)/.