]> 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 6b567c888f63b285ea71327df812f71c98d3c754..0f5671565df29856eed36e95f2f324ed9b11b365 100644 (file)
 #      make clean
 #              Delete unneeded files created by build process
 
-LIB_TARGET=libdruntime-dmd.a
-DUP_TARGET=libdruntime.a
-LIB_MASK=libdruntime*.a
+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
@@ -44,10 +48,24 @@ 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)"
+       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`
@@ -70,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)/.