X-Git-Url: https://pd.if.org/git/?p=pdclib.old;a=blobdiff_plain;f=Jamfile;h=86b2d5f0719e31864015919f071d9c637a1f7713;hp=99441d9b4dffe3fcd56012cfdc3c1671564cd7fd;hb=a2d905faa640c50f1a736a510ef574d99d917df4;hpb=10f020f1a39804bbef8cd1cf35ef7c9a8e75c7d6 diff --git a/Jamfile b/Jamfile index 99441d9..86b2d5f 100644 --- a/Jamfile +++ b/Jamfile @@ -1,48 +1,70 @@ -SubDir PDCLIB_TOP ; -if $(PDCLIB_PLATFORM) { - SubInclude PDCLIB_TOP platform $(PDCLIB_PLATFORM) ; - SubDir PDCLIB_TOP ; -} -PDCLibConfig ; - -PDCLIB_SOURCES = [ RecursiveGlob $(PDCLIB_TOP) : [ FDirName functions ] : *.c ] ; - -if $(PDCLIB_PLATFORM) { - PDCLIB_PLATFORM_SOURCE_DIR = - [ FDirName platform $(PDCLIB_PLATFORM) functions ] ; - PDCLIB_SOURCES += [ RecursiveGlob $(PDCLIB_TOP) : $(PDCLIB_PLATFORM_SOURCE_DIR) : *.c ] ; -} - -for opt in $(PDCLIB_OPTIONS) { - optdir = [ FDirName opt $(opt) ] ; - PDCLIB_SOURCES += [ RecursiveGlob $(PDCLIB_TOP) : $(optdir) : *.c ] ; -} - -Library $(PDCLIB) : $(PDCLIB_SOURCES) ; - -if ! $(PDCLIB_NO_TEST) { - for file in $(PDCLIB_SOURCES) { - testfile = $(file:S=_t) ; - regtestfile = $(file:S=_r) ; - test = $(file:S=-test) ; - regtest = $(file:S=-regtest) ; - - Object $(testfile).o : $(file) ; - Object $(regtestfile).o : $(file) ; - MainFromObjects $(testfile) : $(testfile).o $(CRT0) ; - MainFromObjects $(regtestfile) : $(regtestfile).o ; - CCFLAGS on $(testfile).o += -DTEST $(PDCLIB_TEST_CCFLAGS) ; - CCFLAGS on $(regtestfile).o += -DTEST -DREGTEST - $(PDCLIB_REGTEST_CCFLAGS) ; - CCHDRS on $(regtestfile).o = [ FIncludes [ FDirName testing ] ] ; - - LINKFLAGS on $(testfile)$(SUFEXE) += $(PDCLIB_TEST_LINKFLAGS) ; - LINKFLAGS on $(regtestfile)$(SUFEXE) += $(PDCLIB_REGTEST_LINKFLAGS) ; - LINKLIBS on $(testfile)$(SUFEXE) += $(PDCLIB_TEST_LINKLIBS) ; - LINKLIBS on $(regtestfile)$(SUFEXE) += $(PDCLIB_REGTEST_LINKLIBS) ; - LinkLibraries $(testfile) : $(PDCLIB) ; - - Test $(test) : $(testfile) ; - RegTest $(regtest) : $(regtestfile) ; - } +SubDir PDCLIB_TOP ; +if $(PDCLIB_PLATFORM) { + SubInclude PDCLIB_TOP platform $(PDCLIB_PLATFORM) ; + SubDir PDCLIB_TOP ; +} +PDCLibConfig ; + +PDCLIB_SOURCES = [ RecursiveGlob $(PDCLIB_TOP) : [ FDirName functions ] : *.c ] ; + +if $(PDCLIB_PLATFORM) { + PDCLIB_PLATFORM_SOURCE_DIR = + [ FDirName platform $(PDCLIB_PLATFORM) functions ] ; + PDCLIB_SOURCES += [ RecursiveGlob $(PDCLIB_TOP) : $(PDCLIB_PLATFORM_SOURCE_DIR) : *.c ] ; +} + +for opt in $(PDCLIB_OPTIONS) { + optdir = [ FDirName opt $(opt) ] ; + PDCLIB_SOURCES += [ RecursiveGlob $(PDCLIB_TOP) : $(optdir) : *.c ] ; +} + +Library $(PDCLIB) : $(PDCLIB_SOURCES) ; + +if ! $(PDCLIB_NO_TEST) { + for file in $(PDCLIB_SOURCES) { + testfile = $(file:S=_t) ; + regtestfile = $(file:S=_r) ; + test = $(file:S=-test) ; + regtest = $(file:S=-regtest) ; + + Object $(testfile).o : $(file) ; + MainFromObjects $(testfile) : $(testfile).o $(CRT0) ; + CCFLAGS on $(testfile).o += -DTEST $(PDCLIB_TEST_CCFLAGS) ; + LINKFLAGS on $(testfile)$(SUFEXE) += $(PDCLIB_TEST_LINKFLAGS) ; + LINKLIBS on $(testfile)$(SUFEXE) += $(PDCLIB_TEST_LINKLIBS) ; + LinkLibraries $(testfile) : $(PDCLIB) ; + Test $(test) : $(testfile) ; + + if ! $(PDCLIB_NO_REGTEST) { + Object $(regtestfile).o : $(file) ; + MainFromObjects $(regtestfile) : $(regtestfile).o ; + CCFLAGS on $(regtestfile).o += -DTEST -DREGTEST + $(PDCLIB_REGTEST_CCFLAGS) ; + CCHDRS on $(regtestfile).o = [ FIncludes [ FDirName testing ] ] $(PDCLIB_REGTEST_CCHDRS) ; + LINKFLAGS on $(regtestfile)$(SUFEXE) += $(PDCLIB_REGTEST_LINKFLAGS) ; + LINKLIBS on $(regtestfile)$(SUFEXE) += $(PDCLIB_REGTEST_LINKLIBS) ; + RegTest $(regtest) : $(regtestfile) ; + } + } + + Main helloworld : helloworld.c ; + LinkLibraries helloworld : $(PDCLIB) ; + LINKLIBS on helloworld$(SUFEXE) += $(PDCLIB_TEST_LINKLIBS) ; + LINKFLAGS on helloworld$(SUFEXE) += $(PDCLIB_TEST_LINKFLAGS) ; +} + +rule HtmlMan { + DEPENDS htmlman : $(<) ; + DEPENDS $(<) : $(<:D) ; + DEPENDS $(<) : $(>) ; + MkDir $(<:D) ; +} + +actions HtmlMan { + mandoc -Thtml -Oincludes=../3/%I.html -Oman=../%S/%N.html -Ostyle=../style.css $(>) >$(<) +} + +for manpg in [ GLOB man3 : *.3 ] { + local section = [ SPLIT $(manpg:S) : . ] ; + HtmlMan [ FDirName html $(section) $(manpg:B).html ] : $(manpg) ; } \ No newline at end of file