All modules have a _info file (a C file, despite the lack of extension)
giving metadata for the module. The Makefiles have a rule to build these..
but it's broken (missing an include directive).
This patch fixes the rule, and builds the info binaries for all modules by
default. This is a useful check and also useful for manually inspecting
a module's metadata.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
CCANLINT=tools/ccanlint/ccanlint --deps-fail-ignore
CCANLINT_FAST=$(CCANLINT) -x tests_pass_valgrind -x tests_compile_coverage
CCANLINT=tools/ccanlint/ccanlint --deps-fail-ignore
CCANLINT_FAST=$(CCANLINT) -x tests_pass_valgrind -x tests_compile_coverage
+default: all_info libccan.a
ALL_DEPENDS=$(patsubst %, ccan/%/.depends, $(MODS))
ALL_DEPENDS=$(patsubst %, ccan/%/.depends, $(MODS))
summary-fastcheck/%: tools/ccanlint/ccanlint $(OBJFILES)
$(CCANLINT_FAST) -s ccan/$*
summary-fastcheck/%: tools/ccanlint/ccanlint $(OBJFILES)
$(CCANLINT_FAST) -s ccan/$*
-ccan/%/info: ccan/%/_info
- $(CC) $(CCAN_CFLAGS) -o $@ -x c $<
+ccan/%/info: ccan/%/_info config.h
+ $(CC) $(CCAN_CFLAGS) -I. -o $@ -x c $<
+
+all_info: $(MODS:%=ccan/%/info)
clean: tools-clean
rm -f `find * -name '*.o'` `find * -name '.depends'` `find * -name '*.a'` `find * -name info` `find * -name '*.d'` `find ccan -name '*-Makefile'`
clean: tools-clean
rm -f `find * -name '*.o'` `find * -name '.depends'` `find * -name '*.a'` `find * -name info` `find * -name '*.d'` `find ccan -name '*-Makefile'`