Fix makefile race condition
authorAndrew Waterman <waterman@cs.berkeley.edu>
Sat, 20 Dec 2014 21:26:48 +0000 (13:26 -0800)
committerAndrew Waterman <waterman@cs.berkeley.edu>
Sat, 20 Dec 2014 21:29:45 +0000 (13:29 -0800)
Makefile.in
hwacha/hwacha.mk.in

index 2445f94f78f3e6bd9ff549ec21164d9d095c83b7..dcecc23868df5c734ffee181ede70787395ce156 100644 (file)
@@ -189,6 +189,7 @@ $(2)_objs := $$(patsubst %.cc, %.o, $$($(2)_srcs))
 $(2)_c_objs := $$(patsubst %.c, %.o, $$($(2)_c_srcs))
 $(2)_deps := $$(patsubst %.o, %.d, $$($(2)_objs))
 $(2)_c_deps := $$(patsubst %.o, %.d, $$($(2)_c_objs))
+$(2)_pch_deps := $$(patsubst %.h, %.d, $$($(2)_precompiled_hdrs))
 $$($(2)_pch) : %.h.gch : %.h $$($(2)_gen_hdrs)
        $(COMPILE) $$<
 # If using clang, don't depend (and thus don't build) precompiled headers
@@ -198,7 +199,7 @@ $$($(2)_c_objs) : %.o : %.c $$($(2)_gen_hdrs)
        $(COMPILE_C) -c $$<
 
 $(2)_junk += $$(addprefix $(src_dir)/$(1)/, $$($(2)_pch)) \
-  $$($(2)_objs) $$($(2)_c_objs) $$($(2)_deps) $$($(2)_c_deps) $$($(2)_gen_hdrs)
+  $$($(2)_objs) $$($(2)_c_objs) $$($(2)_deps) $$($(2)_c_deps) $$($(2)_gen_hdrs) $$($(2)_pch_deps)
 
 # Reverse the dependency list so that a given subproject only depends on
 # subprojects listed to its right. This is the correct order for linking
index 362487977838fc976cfe541bef42796d247d5afd..d1d9a014ffefbc961ee93ff1a3409d435b732156 100644 (file)
@@ -40,3 +40,6 @@ hwacha_ut_gen_srcs = \
 $(hwacha_ut_gen_srcs): %.cc: insns_ut/%.h insn_template_hwacha_ut.cc
        sed 's/NAME/$(subst .cc,,$@)/' $(src_dir)/hwacha/insn_template_hwacha_ut.cc | sed 's/OPCODE/$(call get_opcode,$(src_dir)/hwacha/opcodes_hwacha_ut.h,$(subst .cc,,$@))/' > $@
 
+hwacha_junk = \
+       $(hwacha_gen_srcs) \
+       $(hwacha_ut_gen_srcs) \