--- /dev/null
+Index: Makefile
+===================================================================
+--- Makefile (revision 15403)
++++ Makefile (working copy)
+@@ -473,7 +473,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 +503,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/
++hdr := $(wildcard $(patsubst %,%/*.h,$(SRC_DIRS)))
++syn := $(patsubst %.h, %.syn, $(hdr))
++
++%.syn: %.h
++ 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),)
+