]> git.llucax.com Git - software/druntime.git/blobdiff - src/gc/basic/posix.mak
Allow building directly using 'make'
[software/druntime.git] / src / gc / basic / posix.mak
index 432deb39dd4d663ca9d4b94983bb13478589c1f8..0021e9cf59ab61ead2bf4ff6a7092708c0ba4d4f 100644 (file)
-# Makefile to build the garbage collector D library for Posix\r
-# Designed to work with GNU make\r
-# Targets:\r
-#      make\r
-#              Same as make all\r
-#      make lib\r
-#              Build the garbage collector library\r
-#   make doc\r
-#       Generate documentation\r
-#      make clean\r
-#              Delete unneeded files created by build process\r
-\r
-LIB_TARGET=libdruntime-gc-basic.a\r
-LIB_MASK=libdruntime-gc-basic*.a\r
-\r
-CP=cp -f\r
-RM=rm -f\r
-MD=mkdir -p\r
-\r
-ADD_CFLAGS=\r
-ADD_DFLAGS=\r
-\r
-CFLAGS=-O $(ADD_CFLAGS)\r
-#CFLAGS=-g $(ADD_CFLAGS)\r
-\r
-DFLAGS=-release -O -inline -w -nofloat -version=Posix $(ADD_DFLAGS)\r
-#DFLAGS=-g -w -nofloat -version=Posix $(ADD_DFLAGS)\r
-\r
-TFLAGS=-O -inline -w -nofloat -version=Posix $(ADD_DFLAGS)\r
-#TFLAGS=-g -w -nofloat -version=Posix $(ADD_DFLAGS)\r
-\r
-DOCFLAGS=-version=DDoc -version=Posix\r
-\r
-CC=gcc\r
-LC=$(AR) -qsv\r
-DC=dmd\r
-\r
-LIB_DEST=../../../lib\r
-\r
-.SUFFIXES: .s .S .c .cpp .d .html .o\r
-\r
-.s.o:\r
-       $(CC) -c $(CFLAGS) $< -o$@\r
-\r
-.S.o:\r
-       $(CC) -c $(CFLAGS) $< -o$@\r
-\r
-.c.o:\r
-       $(CC) -c $(CFLAGS) $< -o$@\r
-\r
-.cpp.o:\r
-       g++ -c $(CFLAGS) $< -o$@\r
-\r
-.d.o:\r
-       $(DC) -c $(DFLAGS) $< -of$@\r
-\r
-.d.html:\r
-       $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<\r
-#      $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $<\r
-\r
-targets : lib doc\r
-all     : lib doc\r
-lib     : basic.lib\r
-doc     : basic.doc\r
-\r
-######################################################\r
-\r
-ALL_OBJS= \\r
-    gc.o \\r
-    gcalloc.o \\r
-    gcbits.o \\r
-    gcstats.o \\r
-    gcx.o\r
-\r
-######################################################\r
-\r
-ALL_DOCS=\r
-\r
-######################################################\r
-\r
-basic.lib : $(LIB_TARGET)\r
-\r
-$(LIB_TARGET) : $(ALL_OBJS)\r
-       $(RM) $@\r
-       $(LC) $@ $(ALL_OBJS)\r
-\r
-basic.doc : $(ALL_DOCS)\r
-       echo No documentation available.\r
-\r
-######################################################\r
-\r
-clean :\r
-       find . -name "*.di" | xargs $(RM)\r
-       $(RM) $(ALL_OBJS)\r
-       $(RM) $(ALL_DOCS)\r
-       $(RM) $(LIB_MASK)\r
-\r
-install :\r
-       $(MD) $(LIB_DEST)\r
-       $(CP) $(LIB_MASK) $(LIB_DEST)/.\r
+# 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)/.