]> git.llucax.com Git - software/druntime.git/blobdiff - src/dmd-posix.mak
* Auto type determination was broken in some unit tests. This has been fixed.
[software/druntime.git] / src / dmd-posix.mak
index dce94e2fefeb1f062eea9972fb4e14cda7474577..0f5671565df29856eed36e95f2f324ed9b11b365 100644 (file)
 #      make clean
 #              Delete unneeded files created by build process
 
-LIB_TARGET=libdruntime-dmd.a
-LIB_MASK=libdruntime-dmd*.a
-
-DIR_CC=../src/core
-DIR_RT=../src/compiler/dmd
-DIR_GC=../src/gc/basic
+LIB_BASE=libdruntime-dmd
+LIB_BUILD=
+LIB_TARGET=$(LIB_BASE)$(LIB_BUILD).a
+LIB_MASK=$(LIB_BASE)*.a
+DUP_TARGET=libdruntime$(LIB_BUILD).a
+DUP_MASK=libdruntime*.a
+MAKE_LIB=lib
+
+DIR_CC=common
+DIR_RT=compiler/dmd
+DIR_GC=gc/basic
 
 CP=cp -f
 RM=rm -f
@@ -43,14 +48,30 @@ ALL_DOCS=
 
 ######################################################
 
+unittest :
+       make -fdmd-posix.mak lib MAKE_LIB="unittest"
+       dmd -unittest main ../import/core/stdc/stdarg -defaultlib="$(DUP_TARGET)" -debuglib="$(DUP_TARGET)"
+       $(RM) stdarg.o
+       main
+
+release :
+       make -fdmd-posix.mak lib MAKE_LIB="release"
+
+debug :
+       make -fdmd-posix.mak lib MAKE_LIB="debug" LIB_BUILD="-d"
+
+######################################################
+
 lib : $(ALL_OBJS)
-       make -C $(DIR_CC) -fposix.mak lib DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"
-       make -C $(DIR_RT) -fposix.mak lib DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"
-       make -C $(DIR_GC) -fposix.mak lib DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"
-       find . -name "libphobos*.a" | xargs $(RM)
+       make -C $(DIR_CC) -fposix.mak $(MAKE_LIB) DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"
+       make -C $(DIR_RT) -fposix.mak $(MAKE_LIB) DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"
+       make -C $(DIR_GC) -fposix.mak $(MAKE_LIB) DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"
+       $(RM) $(LIB_TARGET)
        $(LC) $(LIB_TARGET) `find $(DIR_CC) -name "*.o" | xargs echo`
        $(LC) $(LIB_TARGET) `find $(DIR_RT) -name "*.o" | xargs echo`
        $(LC) $(LIB_TARGET) `find $(DIR_GC) -name "*.o" | xargs echo`
+       $(RM) $(DUP_TARGET)
+       $(CP) $(LIB_TARGET) $(DUP_TARGET)
 
 doc : $(ALL_DOCS)
        make -C $(DIR_CC) -fposix.mak doc DC=$(DC)
@@ -67,9 +88,12 @@ clean :
        make -C $(DIR_RT) -fposix.mak clean
        make -C $(DIR_GC) -fposix.mak clean
        $(RM) $(LIB_MASK)
+       $(RM) $(DUP_MASK)
+       $(RM) main main.o
 
 install :
        make -C $(DIR_CC) -fposix.mak install
        make -C $(DIR_RT) -fposix.mak install
        make -C $(DIR_GC) -fposix.mak install
        $(CP) $(LIB_MASK) $(LIB_DEST)/.
+       $(CP) $(DUP_MASK) $(LIB_DEST)/.