Browse Source

Build info files

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>
David Gibson 9 years ago
parent
commit
cff22b4aca
2 changed files with 7 additions and 3 deletions
  1. 5 3
      Makefile
  2. 2 0
      ccan/.gitignore

+ 5 - 3
Makefile

@@ -15,7 +15,7 @@ SCOREDIR=scores/$(shell whoami)/$(shell uname -s)-$(shell uname -m)-$(CC)-$(shel
 CCANLINT=tools/ccanlint/ccanlint --deps-fail-ignore
 CCANLINT_FAST=$(CCANLINT) -x tests_pass_valgrind -x tests_compile_coverage
 
-default: libccan.a
+default: all_info libccan.a
 
 ALL_DEPENDS=$(patsubst %, ccan/%/.depends, $(MODS))
 
@@ -63,8 +63,10 @@ summary-check/%: tools/ccanlint/ccanlint $(OBJFILES)
 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'`

+ 2 - 0
ccan/.gitignore

@@ -1 +1,3 @@
 *-Makefile
+info
+