]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
build: Rebuild libs all the time
authorJohannes Berg <johannes.berg@intel.com>
Mon, 12 Oct 2020 09:30:53 +0000 (11:30 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 12 Oct 2020 17:18:02 +0000 (20:18 +0300)
When files change that go into a static library such as libutils.a, then
libutils.a doesn't get rebuilt from, e.g., wlantest because the
top-level Makefile just calls the library make if the library doesn't
exist yet.

Change that by making the library depend on a phony target (cannot make
it itself phony due to the pattern) so that the build will always
recurse into the library build, and check there if the library needs to
be rebuilt.

While at it, remove the (actually unnecessary) mkdir so it doesn't get
done each and every time you do 'make'.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
src/build.rules

index ec1cd66ce2a69b19c6759aff5602f4bee118ad94..acda8847284d7d3fb1b704a17e385409f66d508d 100644 (file)
@@ -94,8 +94,12 @@ $(BUILDDIR)/$(PROJ)/wpa_supplicant/%.o: $(ROOTDIR)wpa_supplicant/%.c $(CONFIG_FI
        @$(E) "  CC " $<
 
 # libraries - they know how to build themselves
-$(BUILDDIR)/$(PROJ)/%.a: $(CONFIG_FILE)
-       $(Q)mkdir -p $(BUILDDIR)/$(PROJ)/$(dir $(@:$(BUILDDIR)/$(PROJ)/%=%))
+# (lib_phony so we recurse all the time)
+.PHONY: lib_phony
+lib_phony:
+# nothing
+
+$(BUILDDIR)/$(PROJ)/%.a: $(CONFIG_FILE) lib_phony
        $(Q)$(MAKE) -C $(ROOTDIR)$(dir $(@:$(BUILDDIR)/$(PROJ)/%=%)) OUT=$(abspath $(dir $@))/
 
 BUILDOBJ = $(patsubst %,$(BUILDDIR)/$(PROJ)/%,$(patsubst $(ROOTDIR)%,%,$(1)))