diff --git a/conf/Makefile.geode b/conf/Makefile.geode index eb63bdbeaf..fb3d7ee745 100644 --- a/conf/Makefile.geode +++ b/conf/Makefile.geode @@ -58,7 +58,11 @@ COBJGEODE = $(SRCGEODE:%.c=$(OBJDIR)/%.o) all: build -build: elf +build: $(OBJDIR) elf + +$(OBJDIR): + @echo CREATING object dir $(OBJDIR) + @test -d $(OBJDIR) || mkdir -p $(OBJDIR) elf: $(OBJDIR)/$(TARGET).elf @@ -77,7 +81,7 @@ load upload program: $(OBJDIR)/$(TARGET).elf $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac @echo CC $@ $(Q)test -d $(dir $@) || mkdir -p $(dir $@) - $(Q)$(CC) -c $(CFLAGS) $< -o $@ + $(Q)$(CC) -MMD -c $(CFLAGS) $< -o $@ # Listing of phony targets. .PHONY : all build elf clean clean_list @@ -86,11 +90,8 @@ $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac # Dependencies # -$(OBJDIR)/.depend: - @echo DEPEND $@ - @test -d $(OBJDIR) || mkdir -p $(OBJDIR) - $(Q)$(CC) -MM -MG $(CFLAGS) $($(TARGET).CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@ +DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d)) ifneq ($(MAKECMDGOALS),clean) --include $(OBJDIR)/.depend +-include $(DEPS) endif diff --git a/conf/Makefile.jsbsim b/conf/Makefile.jsbsim index 3b591724c1..a2e00922f0 100644 --- a/conf/Makefile.jsbsim +++ b/conf/Makefile.jsbsim @@ -49,12 +49,15 @@ $(TARGET).srcsnd = $(notdir $($(TARGET).srcs)) $(TARGET).objso = $($(TARGET).srcs:%.c=$(OBJDIR)/%.o) $(TARGET).objs = $($(TARGET).objso:%.S=$(OBJDIR)/%.o) -all compile: check_jsbsim $(OBJDIR)/simsitl +all compile: check_jsbsim $(OBJDIR) $(OBJDIR)/simsitl check_jsbsim: @echo Paparazzi jsbsim package found: $(JSBSIM_PKG) +$(OBJDIR): + @echo CREATING object dir $(OBJDIR) + @test -d $(OBJDIR) || mkdir -p $(OBJDIR) $(OBJDIR)/simsitl : $($(TARGET).objs) @echo LD $@ @@ -80,23 +83,22 @@ $(OBJDIR)/%.s: %.cpp $(OBJDIR)/%.o: %.c $(OBJDIR)/../Makefile.ac @echo CC $@ $(Q)test -d $(dir $@) || mkdir -p $(dir $@) - $(Q)$(CC) $(CFLAGS) -c -o $@ $< + $(Q)$(CC) -MMD $(CFLAGS) -c -o $@ $< $(OBJDIR)/%.o: %.cpp $(OBJDIR)/../Makefile.ac @echo CC $@ $(Q)test -d $(dir $@) || mkdir -p $(dir $@) - $(Q)$(CC) $(CFLAGS) -c -o $@ $< + $(Q)$(CC) -MMD $(CFLAGS) -c -o $@ $< .PHONY: all compile check_jsbsim + # # Dependencies # -$(OBJDIR)/.depend: - @test -d $(OBJDIR) || mkdir -p $(OBJDIR) - @echo DEPEND $@ - $(Q)$(CC) -MM -MG $(CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@ + +DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d)) ifneq ($(MAKECMDGOALS),clean) --include $(OBJDIR)/.depend +-include $(DEPS) endif diff --git a/conf/Makefile.lpc21 b/conf/Makefile.lpc21 index b2fb117e9d..80fd9c2e16 100644 --- a/conf/Makefile.lpc21 +++ b/conf/Makefile.lpc21 @@ -169,7 +169,11 @@ ALL_ASFLAGS = -mcpu=$(MCU) $(THUMB_IW) -I. -x assembler-with-cpp $(ASFLAGS) # Default target. all: printcommands sizebefore build sizeafter -build: elf hex lss sym +build: $(OBJDIR) elf hex lss sym + +$(OBJDIR): + @echo CREATING object dir $(OBJDIR) + @test -d $(OBJDIR) || mkdir -p $(OBJDIR) elf: $(OBJDIR)/$(TARGET).elf hex: $(OBJDIR)/$(TARGET).hex @@ -228,11 +232,11 @@ endif $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac @echo CC $@ $(Q)test -d $(dir $@) || mkdir -p $(dir $@) - $(Q)$(CC) -c $(ALL_CFLAGS) $(CONLYFLAGS) $< -o $@ + $(Q)$(CC) -MMD -c $(ALL_CFLAGS) $(CONLYFLAGS) $< -o $@ $(OBJDIR)/%.o : $(SRC_ARCH)/lpcusb/%.c $(OBJDIR)/../Makefile.ac @echo CC $@ - $(Q)$(CC) -c $(ALL_CFLAGS) $(CONLYFLAGS) $< -o $@ + $(Q)$(CC) -MMD -c $(ALL_CFLAGS) $(CONLYFLAGS) $< -o $@ # grab files in var/$(AIRCRAFT)/$(TARGET) aka $(OBJDIR) @@ -260,11 +264,8 @@ $(AOBJARM) : $(OBJDIR)/%.o : $(SRC_ARCH)/%.S # Dependencies # -$(OBJDIR)/.depend: - @echo DEPEND $@ - @test -d $(OBJDIR) || mkdir -p $(OBJDIR) - $(Q)$(CC) -MM -MG $(CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@ +DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d)) ifneq ($(MAKECMDGOALS),clean) --include $(OBJDIR)/.depend +-include $(DEPS) endif diff --git a/conf/Makefile.omap b/conf/Makefile.omap index 9cc359d7cd..876099cbec 100644 --- a/conf/Makefile.omap +++ b/conf/Makefile.omap @@ -42,7 +42,7 @@ CFLAGS += -fno-short-enums # CFLAGS += -malignment-traps CFLAGS += -Wall -Wcast-qual -Wimplicit -Wcast-align CFLAGS += -Wpointer-arith -Wswitch -CFLAGS += -Wredundant-decls -Wreturn-type -Wshadow -Wunused +CFLAGS += -Wredundant-decls -Wreturn-type -Wshadow -Wunused #-Wno-unused-result #CFLAGS += -Wa,-adhlns=$(OBJDIR)/$(notdir $(subst $(suffix $<),.lst,$<)) #CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) @@ -71,7 +71,11 @@ OBJ_CPP_OMAP = $(SRC_CPP_OMAP:%.cpp=$(OBJDIR)/%.o) all: build -build: elf +build: $(OBJDIR) elf + +$(OBJDIR): + @echo CREATING object dir $(OBJDIR) + @test -d $(OBJDIR) || mkdir -p $(OBJDIR) elf: $(OBJDIR)/$(TARGET).elf @@ -166,13 +170,13 @@ endif $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac @echo CC $@ $(Q)test -d $(dir $@) || mkdir -p $(dir $@) - $(Q)$(CC) -c $(CFLAGS) $< -o $@ + $(Q)$(CC) -MMD -c $(CFLAGS) $< -o $@ # Compile: create object files from C++ source files $(OBJDIR)/%.o : %.cpp $(OBJDIR)/../Makefile.ac @echo CXX $@ $(Q)test -d $(dir $@) || mkdir -p $(dir $@) - $(Q)$(CXX) -c $(CXXFLAGS) $< -o $@ + $(Q)$(CXX) -MMD -c $(CXXFLAGS) $< -o $@ # Listing of phony targets. @@ -182,13 +186,8 @@ $(OBJDIR)/%.o : %.cpp $(OBJDIR)/../Makefile.ac # Dependencies # -$(OBJDIR)/.depend: - @echo DEPEND $@ - @test -d $(OBJDIR) || mkdir -p $(OBJDIR) - $(Q)$(CC) -MM -MG $(CFLAGS) $($(TARGET).CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@ +DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d)) ifneq ($(MAKECMDGOALS),clean) -ifneq ($(MAKECMDGOALS),erase) --include $(OBJDIR)/.depend -endif +-include $(DEPS) endif diff --git a/conf/Makefile.pentium-m b/conf/Makefile.pentium-m index ada3f1046d..04f4771137 100644 --- a/conf/Makefile.pentium-m +++ b/conf/Makefile.pentium-m @@ -67,7 +67,11 @@ COBJGEODE = $(SRCGEODE:%.c=$(OBJDIR)/%.o) all: build -build: elf +build: $(OBJDIR) elf + +$(OBJDIR): + @echo CREATING object dir $(OBJDIR) + @test -d $(OBJDIR) || mkdir -p $(OBJDIR) elf: $(OBJDIR)/$(TARGET).elf @@ -92,7 +96,7 @@ endif $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac @echo CC $@ $(Q)test -d $(dir $@) || mkdir -p $(dir $@) - $(Q)$(CC) -c $(CFLAGS) $< -o $@ + $(Q)$(CC) -MMD -c $(CFLAGS) $< -o $@ # Listing of phony targets. .PHONY : all build elf clean clean_list @@ -101,11 +105,8 @@ $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac # Dependencies # -$(OBJDIR)/.depend: - @echo DEPEND $@ - @test -d $(OBJDIR) || mkdir -p $(OBJDIR) - $(Q)$(CC) -MM -MG $(CFLAGS) $($(TARGET).CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@ +DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d)) ifneq ($(MAKECMDGOALS),clean) --include $(OBJDIR)/.depend +-include $(DEPS) endif diff --git a/conf/Makefile.sim b/conf/Makefile.sim index 40657cc54b..14b015a00c 100644 --- a/conf/Makefile.sim +++ b/conf/Makefile.sim @@ -83,7 +83,11 @@ $(TARGET).srcsnd = $(notdir $($(TARGET).srcs)) $(TARGET).objso = $($(TARGET).srcs:%.c=$(OBJDIR)/%.o) $(TARGET).objs = $($(TARGET).objso:%.S=$(OBJDIR)/%.o) -all compile: $(OBJDIR)/simsitl +all compile: $(OBJDIR) $(OBJDIR)/simsitl + +$(OBJDIR): + @echo CREATING object dir $(OBJDIR) + @test -d $(OBJDIR) || mkdir -p $(OBJDIR) # shared library of the C autopilot part autopilot.so : $($(TARGET).objs) @@ -125,23 +129,21 @@ $(OBJDIR)/%.s: %.cpp $(OBJDIR)/%.o: %.c $(OBJDIR)/../Makefile.ac @echo CC $@ $(Q)test -d $(dir $@) || mkdir -p $(dir $@) - $(Q)$(CC) $(CFLAGS) -c -o $@ $< + $(Q)$(CC) -MMD $(CFLAGS) -c -o $@ $< $(OBJDIR)/%.o: %.cpp $(OBJDIR)/../Makefile.ac @echo CC $@ $(Q)test -d $(dir $@) || mkdir -p $(dir $@) - $(Q)$(CC) $(CFLAGS) -c -o $@ $< + $(Q)$(CC) -MMD $(CFLAGS) -c -o $@ $< .PHONY: all compile # # Dependencies # -$(OBJDIR)/.depend: - @test -d $(OBJDIR) || mkdir -p $(OBJDIR) - @echo DEPEND $@ - $(Q)$(CC) -MM -MG $(CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@ + +DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d)) ifneq ($(MAKECMDGOALS),clean) --include $(OBJDIR)/.depend +-include $(DEPS) endif diff --git a/conf/Makefile.stm32 b/conf/Makefile.stm32 index fa39dbb7cf..ba400c1769 100644 --- a/conf/Makefile.stm32 +++ b/conf/Makefile.stm32 @@ -178,9 +178,13 @@ ODFLAGS = -S # Default target. all: printcommands sizebefore build sizeafter -build: elf bin hex +build: $(OBJDIR) elf bin hex # lss sym +$(OBJDIR): + @echo CREATING object dir $(OBJDIR) + @test -d $(OBJDIR) || mkdir -p $(OBJDIR) + elf: $(OBJDIR)/$(TARGET).elf bin: $(OBJDIR)/$(TARGET).bin hex: $(OBJDIR)/$(TARGET).hex @@ -219,7 +223,7 @@ sym: $(OBJDIR)/$(TARGET).sym $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac @echo CC $@ $(Q)test -d $(dir $@) || mkdir -p $(dir $@) - $(Q)$(CC) -c $(CFLAGS) $< -o $@ + $(Q)$(CC) -MMD -c $(CFLAGS) $< -o $@ # Assemble: create object files from assembler source files. ARM/Thumb $(AOBJ) : $(OBJDIR)/%.o : %.S @@ -237,11 +241,8 @@ include $(PAPARAZZI_SRC)/conf/Makefile.stm32-upload # Dependencies # -$(OBJDIR)/.depend: - @echo DEPEND $@ - @test -d $(OBJDIR) || mkdir -p $(OBJDIR) - $(Q)$(CC) -MM -MG $(THUMB) $(CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@ +DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d)) ifneq ($(MAKECMDGOALS),clean) --include $(OBJDIR)/.depend +-include $(DEPS) endif