.PHONY: otherproj
all += otherproj
-# pkg-config specification file
-otherproj-PC-PREFIX := $(prefix)
-otherproj-PC-NAME := otherproj
-otherproj-PC-DESC := Some other project
-otherproj-PC-URL := http://www.otherproj.example.com/
-otherproj-PC-VERSION := 1.0
-otherproj-PC-LIBS := -lotherproject
-otherproj-PC-CFLAGS := -DOTHERPROJ_DEFINE
-otherproj-PC-VARS := PREFIX NAME DESC URL VERSION LIBS CFLAGS
-$L/otherproj.pc: PC_VARS := $(otherproj-PC-VARS)
-$L/otherproj.pc: $C/otherproj.pc.in $L/otherproj.pc-flags
-# trigger a rebuild when flags change
-setup_flags_files__ := $(call gen_rebuild_flags,$L/otherproj.pc-flags,\
- $(call varcat,$(otherproj-PC-VARS),otherproj-PC-))
-# install
-$I/lib/pkgconfig/otherproj.pc: $L/otherproj.pc
-install += $I/lib/pkgconfig/otherproj.pc
-otherproj: $L/otherproj.pc
+# Include subdirectory to make the pkg-config stuff (it doesn't make much sense
+# to have this in a separated directory, it's just to test very nested
+# subdirectories :)
+$(call include_subdirs,pkg-config)
# Shared library
$L/libotherproj.so: LINKER := $(CC)
$I/include/otherproj/%.h: $C/%.h
$(call install_file)
# XXX: we can't use += here, call will be resolved lazily if we do
-install := $(install) $(call find_headers,h,$I/include/otherproj)
+install := $(install) $(call find_files,.h,$I/include/otherproj)
-# Create the include directory symlink and pkg-config flags file
+# Build the documentation using doxygen
+.PHONY: otherproj-doc
+otherproj-doc: $D/otherproj/doxygen-stamp
+$D/otherproj/doxygen-stamp: $C/Doxyfile $(call find_files,.h)
+doc += otherproj-doc
+
+# Create the include directory symbolic link and pkg-config flags file
setup_include_dir__ := $(call symlink_include_dir,otherproj)