[conf] fix/improve dependecy generation

This commit is contained in:
Felix Ruess
2013-11-01 18:38:53 +01:00
parent 84cf87cfa5
commit 8807918668
7 changed files with 63 additions and 56 deletions
+8 -7
View File
@@ -58,7 +58,11 @@ COBJGEODE = $(SRCGEODE:%.c=$(OBJDIR)/%.o)
all: build all: build
build: elf build: $(OBJDIR) elf
$(OBJDIR):
@echo CREATING object dir $(OBJDIR)
@test -d $(OBJDIR) || mkdir -p $(OBJDIR)
elf: $(OBJDIR)/$(TARGET).elf elf: $(OBJDIR)/$(TARGET).elf
@@ -77,7 +81,7 @@ load upload program: $(OBJDIR)/$(TARGET).elf
$(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac
@echo CC $@ @echo CC $@
$(Q)test -d $(dir $@) || mkdir -p $(dir $@) $(Q)test -d $(dir $@) || mkdir -p $(dir $@)
$(Q)$(CC) -c $(CFLAGS) $< -o $@ $(Q)$(CC) -MMD -c $(CFLAGS) $< -o $@
# Listing of phony targets. # Listing of phony targets.
.PHONY : all build elf clean clean_list .PHONY : all build elf clean clean_list
@@ -86,11 +90,8 @@ $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac
# Dependencies # Dependencies
# #
$(OBJDIR)/.depend: DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d))
@echo DEPEND $@
@test -d $(OBJDIR) || mkdir -p $(OBJDIR)
$(Q)$(CC) -MM -MG $(CFLAGS) $($(TARGET).CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@
ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),clean)
-include $(OBJDIR)/.depend -include $(DEPS)
endif endif
+10 -8
View File
@@ -49,12 +49,15 @@ $(TARGET).srcsnd = $(notdir $($(TARGET).srcs))
$(TARGET).objso = $($(TARGET).srcs:%.c=$(OBJDIR)/%.o) $(TARGET).objso = $($(TARGET).srcs:%.c=$(OBJDIR)/%.o)
$(TARGET).objs = $($(TARGET).objso:%.S=$(OBJDIR)/%.o) $(TARGET).objs = $($(TARGET).objso:%.S=$(OBJDIR)/%.o)
all compile: check_jsbsim $(OBJDIR)/simsitl all compile: check_jsbsim $(OBJDIR) $(OBJDIR)/simsitl
check_jsbsim: check_jsbsim:
@echo Paparazzi jsbsim package found: $(JSBSIM_PKG) @echo Paparazzi jsbsim package found: $(JSBSIM_PKG)
$(OBJDIR):
@echo CREATING object dir $(OBJDIR)
@test -d $(OBJDIR) || mkdir -p $(OBJDIR)
$(OBJDIR)/simsitl : $($(TARGET).objs) $(OBJDIR)/simsitl : $($(TARGET).objs)
@echo LD $@ @echo LD $@
@@ -80,23 +83,22 @@ $(OBJDIR)/%.s: %.cpp
$(OBJDIR)/%.o: %.c $(OBJDIR)/../Makefile.ac $(OBJDIR)/%.o: %.c $(OBJDIR)/../Makefile.ac
@echo CC $@ @echo CC $@
$(Q)test -d $(dir $@) || mkdir -p $(dir $@) $(Q)test -d $(dir $@) || mkdir -p $(dir $@)
$(Q)$(CC) $(CFLAGS) -c -o $@ $< $(Q)$(CC) -MMD $(CFLAGS) -c -o $@ $<
$(OBJDIR)/%.o: %.cpp $(OBJDIR)/../Makefile.ac $(OBJDIR)/%.o: %.cpp $(OBJDIR)/../Makefile.ac
@echo CC $@ @echo CC $@
$(Q)test -d $(dir $@) || mkdir -p $(dir $@) $(Q)test -d $(dir $@) || mkdir -p $(dir $@)
$(Q)$(CC) $(CFLAGS) -c -o $@ $< $(Q)$(CC) -MMD $(CFLAGS) -c -o $@ $<
.PHONY: all compile check_jsbsim .PHONY: all compile check_jsbsim
# #
# Dependencies # Dependencies
# #
$(OBJDIR)/.depend:
@test -d $(OBJDIR) || mkdir -p $(OBJDIR) DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d))
@echo DEPEND $@
$(Q)$(CC) -MM -MG $(CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@
ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),clean)
-include $(OBJDIR)/.depend -include $(DEPS)
endif endif
+9 -8
View File
@@ -169,7 +169,11 @@ ALL_ASFLAGS = -mcpu=$(MCU) $(THUMB_IW) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: printcommands sizebefore build sizeafter 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 elf: $(OBJDIR)/$(TARGET).elf
hex: $(OBJDIR)/$(TARGET).hex hex: $(OBJDIR)/$(TARGET).hex
@@ -228,11 +232,11 @@ endif
$(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac
@echo CC $@ @echo CC $@
$(Q)test -d $(dir $@) || mkdir -p $(dir $@) $(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 $(OBJDIR)/%.o : $(SRC_ARCH)/lpcusb/%.c $(OBJDIR)/../Makefile.ac
@echo CC $@ @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) # grab files in var/$(AIRCRAFT)/$(TARGET) aka $(OBJDIR)
@@ -260,11 +264,8 @@ $(AOBJARM) : $(OBJDIR)/%.o : $(SRC_ARCH)/%.S
# Dependencies # Dependencies
# #
$(OBJDIR)/.depend: DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d))
@echo DEPEND $@
@test -d $(OBJDIR) || mkdir -p $(OBJDIR)
$(Q)$(CC) -MM -MG $(CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@
ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),clean)
-include $(OBJDIR)/.depend -include $(DEPS)
endif endif
+10 -11
View File
@@ -42,7 +42,7 @@ CFLAGS += -fno-short-enums
# CFLAGS += -malignment-traps # CFLAGS += -malignment-traps
CFLAGS += -Wall -Wcast-qual -Wimplicit -Wcast-align CFLAGS += -Wall -Wcast-qual -Wimplicit -Wcast-align
CFLAGS += -Wpointer-arith -Wswitch CFLAGS += -Wpointer-arith -Wswitch
CFLAGS += -Wredundant-decls -Wreturn-type -Wshadow -Wunused CFLAGS += -Wredundant-decls -Wreturn-type -Wshadow -Wunused
#-Wno-unused-result #-Wno-unused-result
#CFLAGS += -Wa,-adhlns=$(OBJDIR)/$(notdir $(subst $(suffix $<),.lst,$<)) #CFLAGS += -Wa,-adhlns=$(OBJDIR)/$(notdir $(subst $(suffix $<),.lst,$<))
#CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) #CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
@@ -71,7 +71,11 @@ OBJ_CPP_OMAP = $(SRC_CPP_OMAP:%.cpp=$(OBJDIR)/%.o)
all: build all: build
build: elf build: $(OBJDIR) elf
$(OBJDIR):
@echo CREATING object dir $(OBJDIR)
@test -d $(OBJDIR) || mkdir -p $(OBJDIR)
elf: $(OBJDIR)/$(TARGET).elf elf: $(OBJDIR)/$(TARGET).elf
@@ -166,13 +170,13 @@ endif
$(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac
@echo CC $@ @echo CC $@
$(Q)test -d $(dir $@) || mkdir -p $(dir $@) $(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 # Compile: create object files from C++ source files
$(OBJDIR)/%.o : %.cpp $(OBJDIR)/../Makefile.ac $(OBJDIR)/%.o : %.cpp $(OBJDIR)/../Makefile.ac
@echo CXX $@ @echo CXX $@
$(Q)test -d $(dir $@) || mkdir -p $(dir $@) $(Q)test -d $(dir $@) || mkdir -p $(dir $@)
$(Q)$(CXX) -c $(CXXFLAGS) $< -o $@ $(Q)$(CXX) -MMD -c $(CXXFLAGS) $< -o $@
# Listing of phony targets. # Listing of phony targets.
@@ -182,13 +186,8 @@ $(OBJDIR)/%.o : %.cpp $(OBJDIR)/../Makefile.ac
# Dependencies # Dependencies
# #
$(OBJDIR)/.depend: DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d))
@echo DEPEND $@
@test -d $(OBJDIR) || mkdir -p $(OBJDIR)
$(Q)$(CC) -MM -MG $(CFLAGS) $($(TARGET).CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@
ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),erase) -include $(DEPS)
-include $(OBJDIR)/.depend
endif
endif endif
+8 -7
View File
@@ -67,7 +67,11 @@ COBJGEODE = $(SRCGEODE:%.c=$(OBJDIR)/%.o)
all: build all: build
build: elf build: $(OBJDIR) elf
$(OBJDIR):
@echo CREATING object dir $(OBJDIR)
@test -d $(OBJDIR) || mkdir -p $(OBJDIR)
elf: $(OBJDIR)/$(TARGET).elf elf: $(OBJDIR)/$(TARGET).elf
@@ -92,7 +96,7 @@ endif
$(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac
@echo CC $@ @echo CC $@
$(Q)test -d $(dir $@) || mkdir -p $(dir $@) $(Q)test -d $(dir $@) || mkdir -p $(dir $@)
$(Q)$(CC) -c $(CFLAGS) $< -o $@ $(Q)$(CC) -MMD -c $(CFLAGS) $< -o $@
# Listing of phony targets. # Listing of phony targets.
.PHONY : all build elf clean clean_list .PHONY : all build elf clean clean_list
@@ -101,11 +105,8 @@ $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac
# Dependencies # Dependencies
# #
$(OBJDIR)/.depend: DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d))
@echo DEPEND $@
@test -d $(OBJDIR) || mkdir -p $(OBJDIR)
$(Q)$(CC) -MM -MG $(CFLAGS) $($(TARGET).CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@
ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),clean)
-include $(OBJDIR)/.depend -include $(DEPS)
endif endif
+10 -8
View File
@@ -83,7 +83,11 @@ $(TARGET).srcsnd = $(notdir $($(TARGET).srcs))
$(TARGET).objso = $($(TARGET).srcs:%.c=$(OBJDIR)/%.o) $(TARGET).objso = $($(TARGET).srcs:%.c=$(OBJDIR)/%.o)
$(TARGET).objs = $($(TARGET).objso:%.S=$(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 # shared library of the C autopilot part
autopilot.so : $($(TARGET).objs) autopilot.so : $($(TARGET).objs)
@@ -125,23 +129,21 @@ $(OBJDIR)/%.s: %.cpp
$(OBJDIR)/%.o: %.c $(OBJDIR)/../Makefile.ac $(OBJDIR)/%.o: %.c $(OBJDIR)/../Makefile.ac
@echo CC $@ @echo CC $@
$(Q)test -d $(dir $@) || mkdir -p $(dir $@) $(Q)test -d $(dir $@) || mkdir -p $(dir $@)
$(Q)$(CC) $(CFLAGS) -c -o $@ $< $(Q)$(CC) -MMD $(CFLAGS) -c -o $@ $<
$(OBJDIR)/%.o: %.cpp $(OBJDIR)/../Makefile.ac $(OBJDIR)/%.o: %.cpp $(OBJDIR)/../Makefile.ac
@echo CC $@ @echo CC $@
$(Q)test -d $(dir $@) || mkdir -p $(dir $@) $(Q)test -d $(dir $@) || mkdir -p $(dir $@)
$(Q)$(CC) $(CFLAGS) -c -o $@ $< $(Q)$(CC) -MMD $(CFLAGS) -c -o $@ $<
.PHONY: all compile .PHONY: all compile
# #
# Dependencies # Dependencies
# #
$(OBJDIR)/.depend:
@test -d $(OBJDIR) || mkdir -p $(OBJDIR) DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d))
@echo DEPEND $@
$(Q)$(CC) -MM -MG $(CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@
ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),clean)
-include $(OBJDIR)/.depend -include $(DEPS)
endif endif
+8 -7
View File
@@ -178,9 +178,13 @@ ODFLAGS = -S
# Default target. # Default target.
all: printcommands sizebefore build sizeafter all: printcommands sizebefore build sizeafter
build: elf bin hex build: $(OBJDIR) elf bin hex
# lss sym # lss sym
$(OBJDIR):
@echo CREATING object dir $(OBJDIR)
@test -d $(OBJDIR) || mkdir -p $(OBJDIR)
elf: $(OBJDIR)/$(TARGET).elf elf: $(OBJDIR)/$(TARGET).elf
bin: $(OBJDIR)/$(TARGET).bin bin: $(OBJDIR)/$(TARGET).bin
hex: $(OBJDIR)/$(TARGET).hex hex: $(OBJDIR)/$(TARGET).hex
@@ -219,7 +223,7 @@ sym: $(OBJDIR)/$(TARGET).sym
$(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac $(OBJDIR)/%.o : %.c $(OBJDIR)/../Makefile.ac
@echo CC $@ @echo CC $@
$(Q)test -d $(dir $@) || mkdir -p $(dir $@) $(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 # Assemble: create object files from assembler source files. ARM/Thumb
$(AOBJ) : $(OBJDIR)/%.o : %.S $(AOBJ) : $(OBJDIR)/%.o : %.S
@@ -237,11 +241,8 @@ include $(PAPARAZZI_SRC)/conf/Makefile.stm32-upload
# Dependencies # Dependencies
# #
$(OBJDIR)/.depend: DEPS = $(addprefix $(OBJDIR)/,$($(TARGET).srcs:.c=.d))
@echo DEPEND $@
@test -d $(OBJDIR) || mkdir -p $(OBJDIR)
$(Q)$(CC) -MM -MG $(THUMB) $(CFLAGS) $($(TARGET).srcs) | sed 's|\([^\.]*\.o\)|$(OBJDIR)/\1|' > $@
ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),clean)
-include $(OBJDIR)/.depend -include $(DEPS)
endif endif