- add cross-reference generation target.
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 16 Jun 2006 17:19:39 +0000 (17:19 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 16 Jun 2006 17:19:39 +0000 (17:19 -0000)
  Experimental.

Makefile

index 55f45f945ec84711ad12e8a1fefc6c4404945cd3..82bcca62f67969a70b471ca5ed59800638942ce7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -140,6 +140,7 @@ help:
        @echo '  all                    - Executable and documentation'
        @echo '  busybox                - the swiss-army executable'
        @echo '  doc                    - docs/BusyBox.{txt,html,1}'
+       @echo '  html                   - create html-based cross-reference'
        @echo
        @echo 'Configuration:'
        @echo '  allnoconfig            - disable all symbols in .config'
@@ -473,7 +474,7 @@ clean:
            libbusybox.so* \
            .config.old busybox busybox_unstripped
        - rm -r -f _install testsuite/links
-       - find . -name .\*.flags -o -name \*.o  -o -name \*.om \
+       - find . -name .\*.flags -o -name \*.o  -o -name \*.om -o -name \*.syn \
            -o -name \*.os -o -name \*.osm -o -name \*.a | xargs rm -f
 
 distclean: clean
@@ -503,6 +504,17 @@ release: distclean #doc
 tags:
        ctags -R .
 
+# documentation, cross-reference
+# Modern distributions already ship synopsis packages (e.g. debian)
+# If you have an old distribution go to http://synopsis.fresco.org/
+syn_tgt := $(wildcard $(patsubst %,%/*.c,$(SRC_DIRS)))
+syn     := $(patsubst %.c, %.syn, $(syn_tgt))
+
+%.syn: %.c
+       synopsis -p C -l Comments.SSDFilter,Comments.Previous $(INCS) -Wp,verbose,debug,preprocess,cppflags="'$(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) $(PROG_CFLAGS) $(PROG_LDFLAGS) $(CFLAGS_COMBINE) $(APPLETS_DEFINE) $(BUSYBOX_DEFINE)'" -o $@ $<
+html: $(syn)
+       synopsis -f HTML -Wf,title="'BusyBox Documentation'" -o $@ $^
+
 
 endif # ifeq ($(skip-makefile),)