+DFLAGS = -Wall
-all: test
+# Debug
+DFLAGS += -ggdb
-test.o: test.d ev.d
- gdc -c -Wall -ggdb test.d
+# Unittest
+#DFLAGS += -funittest -fversion=UnitTest
-ev.o: ev.d
- gdc -c -Wall -ggdb ev.d
+# Release
+#DFLAGS += -frelease -O3
-test: test.o ev.o
- gdc -o test -lev test.o ev.o
+TARGETS = ctest dtest
+
+all: $(TARGETS)
+
+ctest.o: ctest.d ev/c.d
+ gdc -c $(DFLAGS) ctest.d
+
+dtest.o: dtest.d ev/c.d ev/d.d
+ gdc -c $(DFLAGS) dtest.d
+
+ev/c.o: ev/c.d
+ gdc -c -o ev/c.o $(DFLAGS) ev/c.d
+
+ev/d.o: ev/d.d
+ gdc -c -o ev/d.o $(DFLAGS) ev/d.d
+
+ctest: ctest.o ev/c.o
+ gdc -o ctest -lev $(DFLAGS) ctest.o ev/c.o
+
+dtest: dtest.o ev/c.o ev/d.o
+ gdc -o dtest -lev $(DFLAGS) dtest.o ev/c.o ev/d.o
clean:
- $(RM) -v *.o test
+ $(RM) -v *.o ev/*.o $(TARGETS)
.PHONY: clean all