Build System =Tool Compiler Fix
authorksg <ken@mihrtec.com>
Tue, 30 Aug 2016 18:58:51 +0000 (11:58 -0700)
committerksg <ken@mihrtec.com>
Tue, 30 Aug 2016 18:58:51 +0000 (11:58 -0700)
src/Makefile

index 64a42a1..8e0c926 100644 (file)
@@ -58,33 +58,26 @@ push: $(APPTARG)
 dox doc:
        doxygen dox.conf
 
-#clean up intermediate dependency files and binaries
-clean:
-       @echo "Cleaning build targets"
-       rm -f $(APPTARG) $(WEBTARG) $(CTARG)
-
-#Scrub down to minimal distribution
-scrub: | clean
-
 ################## DEFAULTS #####################
 #cancel default %.o behavior for %.d dependency
 %.o : %.c
 
 #construct list of make rules for tools
 ifdef TOOLS
-TOOLTARGS := $(foreach tool,$(TOOLS),$(tool)/$(tool))
+TOOLTRG := $(foreach tool,$(TOOLS),$(tool)/$(tool))
 .phony: $(TOOLS)
-$(TOOLS): $(TOOLTARGS)
+$(TOOLS): $(TOOLTRG)
 
 T = $(notdir $@)
-B = $(basename $T)
-$(TOOLTARGS): $(TOOLOBJ)
+D = $(dir $@)
+B = $(basename $D)
+$(TOOLTRG): $(TOOLOBJ)
        $($TCC) $($TFLG) $($TSRC:.c=.o) -o $@
 
 #Tools only work on whatever system they're designed for
 #(typically GNU), so their creation rules are dependent
 #on each tool (define in .make/.buildtools.mk)
-$(foreach tool,$(TOOLS),$(tool)/%.o): %.c
+$(foreach tool,$(TOOLS),$(tool)/%.o): $(dir $@)%.c
        $($BCC) $(BFLG) $< -c -o $@
 
 #Put our toolsrc on the ctarg list for generating deps
@@ -117,3 +110,11 @@ ifdef APPTARGS
 include $(foreach app,$(APPTARGS),.make/app$(app).mk)
 endif
 
+#clean up intermediate dependency files and binaries
+clean:
+       @echo "Cleaning build targets"
+       rm -f $(APPTARG) $(WEBTARG) $(CTARG)
+
+#Scrub down to minimal distribution
+scrub: | clean
+