From 7faea389e8ba002e1c3c7604eaaa916fad583179 Mon Sep 17 00:00:00 2001 From: Gareth McMullin Date: Mon, 14 Mar 2011 16:45:17 +1300 Subject: [PATCH] Added dependency generation. Abort loops on error. --- Makefile | 6 +++--- examples/lm3s/Makefile.include | 6 ++++-- examples/lpc13xx/Makefile.include | 6 ++++-- examples/stm32/Makefile.include | 6 ++++-- lib/lm3s/Makefile | 5 +++-- lib/lpc13xx/Makefile | 6 ++++-- lib/stm32/Makefile | 6 ++++-- 7 files changed, 26 insertions(+), 15 deletions(-) diff --git a/Makefile b/Makefile index 9f3be8da..fe8db6a0 100644 --- a/Makefile +++ b/Makefile @@ -41,7 +41,7 @@ lib: $(Q)for i in $(addprefix $@/,$(TARGETS)); do \ if [ -d $$i ]; then \ printf " BUILD $$i\n"; \ - $(MAKE) -C $$i; \ + $(MAKE) -C $$i || exit $?; \ fi; \ done @@ -49,7 +49,7 @@ examples: $(Q)for i in $(addsuffix /*/*,$(addprefix $@/,$(TARGETS))); do \ if [ -d $$i ]; then \ printf " BUILD $$i\n"; \ - $(MAKE) -C $$i; \ + $(MAKE) -C $$i || exit $?; \ fi; \ done @@ -68,7 +68,7 @@ clean: $(addsuffix /*/*,$(addprefix examples/,$(TARGETS))); do \ if [ -d $$i ]; then \ printf " CLEAN $$i\n"; \ - $(MAKE) -C $$i clean; \ + $(MAKE) -C $$i clean || exit $?; \ fi; \ done diff --git a/examples/lm3s/Makefile.include b/examples/lm3s/Makefile.include index 3420d1aa..89c12797 100644 --- a/examples/lm3s/Makefile.include +++ b/examples/lm3s/Makefile.include @@ -28,7 +28,7 @@ OBJDUMP = $(PREFIX)-objdump # TOOLCHAIN_DIR = `dirname \`which $(CC)\``/../$(PREFIX) TOOLCHAIN_DIR = ../../../.. CFLAGS += -O0 -g3 -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \ - -mcpu=cortex-m3 -mthumb + -mcpu=cortex-m3 -mthumb -MD LDSCRIPT = $(BINARY).ld LDFLAGS += -L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/lm3s \ -T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections @@ -75,7 +75,7 @@ flash: $(BINARY).flash @#printf " OBJDUMP $(*).list\n" $(Q)$(OBJDUMP) -S $(*).elf > $(*).list -%.elf: $(OBJS) $(LDSCRIPT) +%.elf: $(OBJS) $(LDSCRIPT) $(TOOLCHAIN_DIR)/lib/lm3s/libopencm3_lm3s.a @#printf " LD $(subst $(shell pwd)/,,$(@))\n" $(Q)$(LD) $(LDFLAGS) -o $(*).elf $(OBJS) -lopencm3_lm3s @@ -119,3 +119,5 @@ endif .PHONY: images clean +-include $(OBJS:.o=.d) + diff --git a/examples/lpc13xx/Makefile.include b/examples/lpc13xx/Makefile.include index 6e80fd56..1f2deba6 100644 --- a/examples/lpc13xx/Makefile.include +++ b/examples/lpc13xx/Makefile.include @@ -28,7 +28,7 @@ OBJDUMP = $(PREFIX)-objdump # TOOLCHAIN_DIR = `dirname \`which $(CC)\``/../$(PREFIX) TOOLCHAIN_DIR = ../../../.. CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \ - -mcpu=cortex-m3 -mthumb + -mcpu=cortex-m3 -mthumb -MD LDSCRIPT = $(BINARY).ld LDFLAGS += -L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/lpc13xx \ -T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections @@ -75,7 +75,7 @@ flash: $(BINARY).flash @#printf " OBJDUMP $(*).list\n" $(Q)$(OBJDUMP) -S $(*).elf > $(*).list -%.elf: $(OBJS) $(LDSCRIPT) +%.elf: $(OBJS) $(LDSCRIPT) $(TOOLCHAIN_DIR)/lib/lpc13xx/libopencm3_lpc13xx.a @#printf " LD $(subst $(shell pwd)/,,$(@))\n" $(Q)$(LD) $(LDFLAGS) -o $(*).elf $(OBJS) -lopencm3_lpc13xx @@ -119,3 +119,5 @@ endif .PHONY: images clean +-include $(OBJS:.o=.d) + diff --git a/examples/stm32/Makefile.include b/examples/stm32/Makefile.include index 3eb3d352..cdaff1d3 100644 --- a/examples/stm32/Makefile.include +++ b/examples/stm32/Makefile.include @@ -28,7 +28,7 @@ OBJDUMP = $(PREFIX)-objdump # TOOLCHAIN_DIR = `dirname \`which $(CC)\``/../$(PREFIX) TOOLCHAIN_DIR = ../../../.. CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include \ - -fno-common -mcpu=cortex-m3 -mthumb -msoft-float + -fno-common -mcpu=cortex-m3 -mthumb -msoft-float -MD LDSCRIPT = $(BINARY).ld LDFLAGS += -lc -lnosys -L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/stm32 \ -T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \ @@ -75,7 +75,7 @@ flash: $(BINARY).flash @#printf " OBJDUMP $(*).list\n" $(Q)$(OBJDUMP) -S $(*).elf > $(*).list -%.elf: $(OBJS) $(LDSCRIPT) +%.elf: $(OBJS) $(LDSCRIPT) $(TOOLCHAIN_DIR)/lib/stm32/libopencm3_stm32.a @#printf " LD $(subst $(shell pwd)/,,$(@))\n" $(Q)$(LD) -o $(*).elf $(OBJS) -lopencm3_stm32 $(LDFLAGS) @@ -118,3 +118,5 @@ endif .PHONY: images clean +-include $(OBJS:.o=.d) + diff --git a/lib/lm3s/Makefile b/lib/lm3s/Makefile index 25c57ec7..2bdbd720 100644 --- a/lib/lm3s/Makefile +++ b/lib/lm3s/Makefile @@ -25,7 +25,7 @@ CC = $(PREFIX)-gcc AR = $(PREFIX)-ar CFLAGS = -Os -g -Wall -Wextra -I../../include -fno-common \ -mcpu=cortex-m3 -mthumb -Wstrict-prototypes \ - -ffunction-sections -fdata-sections + -ffunction-sections -fdata-sections -MD # ARFLAGS = rcsv ARFLAGS = rcs OBJS = gpio.o vector.o @@ -49,8 +49,9 @@ $(LIBNAME).a: $(OBJS) clean: @printf " CLEAN lib/lpc13xx\n" - $(Q)rm -f *.o + $(Q)rm -f *.o *.d $(Q)rm -f $(LIBNAME).a .PHONY: clean +-include $(OBJS:.o=.d) diff --git a/lib/lpc13xx/Makefile b/lib/lpc13xx/Makefile index 37889e66..7181a08b 100644 --- a/lib/lpc13xx/Makefile +++ b/lib/lpc13xx/Makefile @@ -25,7 +25,7 @@ CC = $(PREFIX)-gcc AR = $(PREFIX)-ar CFLAGS = -Os -g -Wall -Wextra -I../../include -fno-common \ -mcpu=cortex-m3 -mthumb -Wstrict-prototypes \ - -ffunction-sections -fdata-sections + -ffunction-sections -fdata-sections -MD # ARFLAGS = rcsv ARFLAGS = rcs OBJS = gpio.o @@ -49,8 +49,10 @@ $(LIBNAME).a: $(OBJS) clean: @printf " CLEAN lib/lpc13xx\n" - $(Q)rm -f *.o + $(Q)rm -f *.o *.d $(Q)rm -f $(LIBNAME).a .PHONY: clean +-include $(OBJS:.o=.d) + diff --git a/lib/stm32/Makefile b/lib/stm32/Makefile index 6ffcc4ad..095f5248 100644 --- a/lib/stm32/Makefile +++ b/lib/stm32/Makefile @@ -25,7 +25,7 @@ CC = $(PREFIX)-gcc AR = $(PREFIX)-ar CFLAGS = -Os -g -Wall -Wextra -I../../include -fno-common \ -mcpu=cortex-m3 -mthumb -Wstrict-prototypes \ - -ffunction-sections -fdata-sections + -ffunction-sections -fdata-sections -MD # ARFLAGS = rcsv ARFLAGS = rcs OBJS = vector.o rcc.o gpio.o usart.o adc.o spi.o flash.o nvic.o \ @@ -52,8 +52,10 @@ $(LIBNAME).a: $(OBJS) clean: @printf " CLEAN lib/stm32\n" - $(Q)rm -f *.o + $(Q)rm -f *.o *.d $(Q)rm -f $(LIBNAME).a .PHONY: clean +-include $(OBJS:.o=.d) +