X-Git-Url: https://git.llucax.com/software/druntime.git/blobdiff_plain/5a07183e26b7ca151959629420a83f59af5339f3..ee20c715e3f0be23c1732938dc222d436464c254:/src/gc/basic/posix.mak diff --git a/src/gc/basic/posix.mak b/src/gc/basic/posix.mak index 432deb3..0021e9c 100644 --- a/src/gc/basic/posix.mak +++ b/src/gc/basic/posix.mak @@ -1,100 +1,116 @@ -# 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=libdruntime-gc-basic.a -LIB_MASK=libdruntime-gc-basic*.a - -CP=cp -f -RM=rm -f -MD=mkdir -p - -ADD_CFLAGS= -ADD_DFLAGS= - -CFLAGS=-O $(ADD_CFLAGS) -#CFLAGS=-g $(ADD_CFLAGS) - -DFLAGS=-release -O -inline -w -nofloat -version=Posix $(ADD_DFLAGS) -#DFLAGS=-g -w -nofloat -version=Posix $(ADD_DFLAGS) - -TFLAGS=-O -inline -w -nofloat -version=Posix $(ADD_DFLAGS) -#TFLAGS=-g -w -nofloat -version=Posix $(ADD_DFLAGS) - -DOCFLAGS=-version=DDoc -version=Posix - -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 : basic.lib -doc : basic.doc - -###################################################### - -ALL_OBJS= \ - gc.o \ - gcalloc.o \ - gcbits.o \ - gcstats.o \ - gcx.o - -###################################################### - -ALL_DOCS= - -###################################################### - -basic.lib : $(LIB_TARGET) - -$(LIB_TARGET) : $(ALL_OBJS) - $(RM) $@ - $(LC) $@ $(ALL_OBJS) - -basic.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-basic +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 : basic.lib +doc : basic.doc + +###################################################### + +ALL_OBJS= \ + gc.o \ + gcalloc.o \ + gcbits.o \ + gcstats.o \ + gcx.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)" + +###################################################### + +basic.lib : $(LIB_TARGET) + +$(LIB_TARGET) : $(ALL_OBJS) + $(RM) $@ + $(LC) $@ $(ALL_OBJS) + +basic.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)/.