# 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
######################################################
+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`
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)/.