]> pd.if.org Git - pdclib.old/blobdiff - Jamfile
* New feature check macro system. See _PDCLIB_aux.h for details
[pdclib.old] / Jamfile
diff --git a/Jamfile b/Jamfile
new file mode 100644 (file)
index 0000000..971e21d
--- /dev/null
+++ b/Jamfile
@@ -0,0 +1,43 @@
+SubDir PDCLIB_TOP ;\r
+PDCLibConfig ;\r
+\r
+PDCLIB_SOURCES = [ RecursiveGlob $(PDCLIB_TOP) : [ FDirName functions ] : *.c ] ;\r
+\r
+if $(PDCLIB_PLATFORM) {\r
+    PDCLIB_PLATFORM_SOURCE_DIR = \r
+        [ FDirName platform $(PDCLIB_PLATFORM) functions ] ;\r
+    PDCLIB_SOURCES += [ RecursiveGlob $(PDCLIB_TOP) : $(PDCLIB_PLATFORM_SOURCE_DIR) : *.c ] ;\r
+}\r
+\r
+for opt in $(PDCLIB_OPTIONS) {\r
+    optdir = [ FDirName opt $(opt) ] ;\r
+    PDCLIB_SOURCES += [ RecursiveGlob $(PDCLIB_TOP) : $(optdir) : *.c ] ;   \r
+}\r
+\r
+Library $(PDCLIB) : $(PDCLIB_SOURCES) ;\r
+\r
+if ! $(PDCLIB_NO_TEST) {\r
+    for file in $(PDCLIB_SOURCES) {\r
+        testfile    = $(file:S=_t) ;\r
+        regtestfile = $(file:S=_r) ;\r
+        test        = $(file:S=-test) ;\r
+        regtest     = $(file:S=-regtest) ;\r
+\r
+        Object $(testfile).o    : $(file) ;\r
+        Object $(regtestfile).o : $(file) ;\r
+        MainFromObjects $(testfile)    : $(testfile).o ;\r
+        MainFromObjects $(regtestfile) : $(regtestfile).o ;\r
+        CCFLAGS on $(testfile).o += -DTEST $(PDCLIB_TEST_CCFLAGS) ;\r
+        CCFLAGS on $(regtestfile).o += -DTEST -DREGTEST \r
+                                       $(PDCLIB_REGTEST_CCFLAGS) ;\r
+\r
+        LINKFLAGS on $(testfile)$(SUFEXE) += $(PDCLIB_TEST_LINKFLAGS) ;\r
+        LINKFLAGS on $(regtestfile)$(SUFEXE) += $(PDCLIB_REGTEST_LINKFLAGS) ;\r
+        LINKLIBS on $(testfile)$(SUFEXE) += $(PDCLIB_TEST_LINKLIBS) ;\r
+        LINKLIBS on $(regtestfile)$(SUFEXE) += $(PDCLIB_REGTEST_LINKLIBS) ;\r
+        LinkLibraries $(testfile) : $(PDCLIB) ;\r
+\r
+        Test    $(test)    : $(testfile) ;\r
+        RegTest $(regtest) : $(regtestfile) ;\r
+    }\r
+}
\ No newline at end of file