Added dependency generation. Abort loops on error.

This commit is contained in:
Gareth McMullin 2011-03-14 16:45:17 +13:00
parent 95286a22f0
commit 7faea389e8
7 changed files with 26 additions and 15 deletions

View File

@ -41,7 +41,7 @@ lib:
$(Q)for i in $(addprefix $@/,$(TARGETS)); do \ $(Q)for i in $(addprefix $@/,$(TARGETS)); do \
if [ -d $$i ]; then \ if [ -d $$i ]; then \
printf " BUILD $$i\n"; \ printf " BUILD $$i\n"; \
$(MAKE) -C $$i; \ $(MAKE) -C $$i || exit $?; \
fi; \ fi; \
done done
@ -49,7 +49,7 @@ examples:
$(Q)for i in $(addsuffix /*/*,$(addprefix $@/,$(TARGETS))); do \ $(Q)for i in $(addsuffix /*/*,$(addprefix $@/,$(TARGETS))); do \
if [ -d $$i ]; then \ if [ -d $$i ]; then \
printf " BUILD $$i\n"; \ printf " BUILD $$i\n"; \
$(MAKE) -C $$i; \ $(MAKE) -C $$i || exit $?; \
fi; \ fi; \
done done
@ -68,7 +68,7 @@ clean:
$(addsuffix /*/*,$(addprefix examples/,$(TARGETS))); do \ $(addsuffix /*/*,$(addprefix examples/,$(TARGETS))); do \
if [ -d $$i ]; then \ if [ -d $$i ]; then \
printf " CLEAN $$i\n"; \ printf " CLEAN $$i\n"; \
$(MAKE) -C $$i clean; \ $(MAKE) -C $$i clean || exit $?; \
fi; \ fi; \
done done

View File

@ -28,7 +28,7 @@ OBJDUMP = $(PREFIX)-objdump
# TOOLCHAIN_DIR = `dirname \`which $(CC)\``/../$(PREFIX) # TOOLCHAIN_DIR = `dirname \`which $(CC)\``/../$(PREFIX)
TOOLCHAIN_DIR = ../../../.. TOOLCHAIN_DIR = ../../../..
CFLAGS += -O0 -g3 -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \ CFLAGS += -O0 -g3 -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
-mcpu=cortex-m3 -mthumb -mcpu=cortex-m3 -mthumb -MD
LDSCRIPT = $(BINARY).ld LDSCRIPT = $(BINARY).ld
LDFLAGS += -L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/lm3s \ LDFLAGS += -L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/lm3s \
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections -T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections
@ -75,7 +75,7 @@ flash: $(BINARY).flash
@#printf " OBJDUMP $(*).list\n" @#printf " OBJDUMP $(*).list\n"
$(Q)$(OBJDUMP) -S $(*).elf > $(*).list $(Q)$(OBJDUMP) -S $(*).elf > $(*).list
%.elf: $(OBJS) $(LDSCRIPT) %.elf: $(OBJS) $(LDSCRIPT) $(TOOLCHAIN_DIR)/lib/lm3s/libopencm3_lm3s.a
@#printf " LD $(subst $(shell pwd)/,,$(@))\n" @#printf " LD $(subst $(shell pwd)/,,$(@))\n"
$(Q)$(LD) $(LDFLAGS) -o $(*).elf $(OBJS) -lopencm3_lm3s $(Q)$(LD) $(LDFLAGS) -o $(*).elf $(OBJS) -lopencm3_lm3s
@ -119,3 +119,5 @@ endif
.PHONY: images clean .PHONY: images clean
-include $(OBJS:.o=.d)

View File

@ -28,7 +28,7 @@ OBJDUMP = $(PREFIX)-objdump
# TOOLCHAIN_DIR = `dirname \`which $(CC)\``/../$(PREFIX) # TOOLCHAIN_DIR = `dirname \`which $(CC)\``/../$(PREFIX)
TOOLCHAIN_DIR = ../../../.. TOOLCHAIN_DIR = ../../../..
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \ CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
-mcpu=cortex-m3 -mthumb -mcpu=cortex-m3 -mthumb -MD
LDSCRIPT = $(BINARY).ld LDSCRIPT = $(BINARY).ld
LDFLAGS += -L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/lpc13xx \ LDFLAGS += -L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/lpc13xx \
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections -T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections
@ -75,7 +75,7 @@ flash: $(BINARY).flash
@#printf " OBJDUMP $(*).list\n" @#printf " OBJDUMP $(*).list\n"
$(Q)$(OBJDUMP) -S $(*).elf > $(*).list $(Q)$(OBJDUMP) -S $(*).elf > $(*).list
%.elf: $(OBJS) $(LDSCRIPT) %.elf: $(OBJS) $(LDSCRIPT) $(TOOLCHAIN_DIR)/lib/lpc13xx/libopencm3_lpc13xx.a
@#printf " LD $(subst $(shell pwd)/,,$(@))\n" @#printf " LD $(subst $(shell pwd)/,,$(@))\n"
$(Q)$(LD) $(LDFLAGS) -o $(*).elf $(OBJS) -lopencm3_lpc13xx $(Q)$(LD) $(LDFLAGS) -o $(*).elf $(OBJS) -lopencm3_lpc13xx
@ -119,3 +119,5 @@ endif
.PHONY: images clean .PHONY: images clean
-include $(OBJS:.o=.d)

View File

@ -28,7 +28,7 @@ OBJDUMP = $(PREFIX)-objdump
# TOOLCHAIN_DIR = `dirname \`which $(CC)\``/../$(PREFIX) # TOOLCHAIN_DIR = `dirname \`which $(CC)\``/../$(PREFIX)
TOOLCHAIN_DIR = ../../../.. TOOLCHAIN_DIR = ../../../..
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include \ 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 LDSCRIPT = $(BINARY).ld
LDFLAGS += -lc -lnosys -L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/stm32 \ LDFLAGS += -lc -lnosys -L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/stm32 \
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \ -T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \
@ -75,7 +75,7 @@ flash: $(BINARY).flash
@#printf " OBJDUMP $(*).list\n" @#printf " OBJDUMP $(*).list\n"
$(Q)$(OBJDUMP) -S $(*).elf > $(*).list $(Q)$(OBJDUMP) -S $(*).elf > $(*).list
%.elf: $(OBJS) $(LDSCRIPT) %.elf: $(OBJS) $(LDSCRIPT) $(TOOLCHAIN_DIR)/lib/stm32/libopencm3_stm32.a
@#printf " LD $(subst $(shell pwd)/,,$(@))\n" @#printf " LD $(subst $(shell pwd)/,,$(@))\n"
$(Q)$(LD) -o $(*).elf $(OBJS) -lopencm3_stm32 $(LDFLAGS) $(Q)$(LD) -o $(*).elf $(OBJS) -lopencm3_stm32 $(LDFLAGS)
@ -118,3 +118,5 @@ endif
.PHONY: images clean .PHONY: images clean
-include $(OBJS:.o=.d)

View File

@ -25,7 +25,7 @@ CC = $(PREFIX)-gcc
AR = $(PREFIX)-ar AR = $(PREFIX)-ar
CFLAGS = -Os -g -Wall -Wextra -I../../include -fno-common \ CFLAGS = -Os -g -Wall -Wextra -I../../include -fno-common \
-mcpu=cortex-m3 -mthumb -Wstrict-prototypes \ -mcpu=cortex-m3 -mthumb -Wstrict-prototypes \
-ffunction-sections -fdata-sections -ffunction-sections -fdata-sections -MD
# ARFLAGS = rcsv # ARFLAGS = rcsv
ARFLAGS = rcs ARFLAGS = rcs
OBJS = gpio.o vector.o OBJS = gpio.o vector.o
@ -49,8 +49,9 @@ $(LIBNAME).a: $(OBJS)
clean: clean:
@printf " CLEAN lib/lpc13xx\n" @printf " CLEAN lib/lpc13xx\n"
$(Q)rm -f *.o $(Q)rm -f *.o *.d
$(Q)rm -f $(LIBNAME).a $(Q)rm -f $(LIBNAME).a
.PHONY: clean .PHONY: clean
-include $(OBJS:.o=.d)

View File

@ -25,7 +25,7 @@ CC = $(PREFIX)-gcc
AR = $(PREFIX)-ar AR = $(PREFIX)-ar
CFLAGS = -Os -g -Wall -Wextra -I../../include -fno-common \ CFLAGS = -Os -g -Wall -Wextra -I../../include -fno-common \
-mcpu=cortex-m3 -mthumb -Wstrict-prototypes \ -mcpu=cortex-m3 -mthumb -Wstrict-prototypes \
-ffunction-sections -fdata-sections -ffunction-sections -fdata-sections -MD
# ARFLAGS = rcsv # ARFLAGS = rcsv
ARFLAGS = rcs ARFLAGS = rcs
OBJS = gpio.o OBJS = gpio.o
@ -49,8 +49,10 @@ $(LIBNAME).a: $(OBJS)
clean: clean:
@printf " CLEAN lib/lpc13xx\n" @printf " CLEAN lib/lpc13xx\n"
$(Q)rm -f *.o $(Q)rm -f *.o *.d
$(Q)rm -f $(LIBNAME).a $(Q)rm -f $(LIBNAME).a
.PHONY: clean .PHONY: clean
-include $(OBJS:.o=.d)

View File

@ -25,7 +25,7 @@ CC = $(PREFIX)-gcc
AR = $(PREFIX)-ar AR = $(PREFIX)-ar
CFLAGS = -Os -g -Wall -Wextra -I../../include -fno-common \ CFLAGS = -Os -g -Wall -Wextra -I../../include -fno-common \
-mcpu=cortex-m3 -mthumb -Wstrict-prototypes \ -mcpu=cortex-m3 -mthumb -Wstrict-prototypes \
-ffunction-sections -fdata-sections -ffunction-sections -fdata-sections -MD
# ARFLAGS = rcsv # ARFLAGS = rcsv
ARFLAGS = rcs ARFLAGS = rcs
OBJS = vector.o rcc.o gpio.o usart.o adc.o spi.o flash.o nvic.o \ 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: clean:
@printf " CLEAN lib/stm32\n" @printf " CLEAN lib/stm32\n"
$(Q)rm -f *.o $(Q)rm -f *.o *.d
$(Q)rm -f $(LIBNAME).a $(Q)rm -f $(LIBNAME).a
.PHONY: clean .PHONY: clean
-include $(OBJS:.o=.d)