aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGareth McMullin2011-03-14 16:45:17 +1300
committerGareth McMullin2011-03-14 16:45:17 +1300
commit7faea389e8ba002e1c3c7604eaaa916fad583179 (patch)
treec893d2c6cdc918ca16dd697d6923bff806e26b31
parent95286a22f0bb6a822b4d2a62611bcc7b2c2daa8b (diff)
Added dependency generation. Abort loops on error.
-rw-r--r--Makefile6
-rw-r--r--examples/lm3s/Makefile.include6
-rw-r--r--examples/lpc13xx/Makefile.include6
-rw-r--r--examples/stm32/Makefile.include6
-rw-r--r--lib/lm3s/Makefile5
-rw-r--r--lib/lpc13xx/Makefile6
-rw-r--r--lib/stm32/Makefile6
7 files changed, 26 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index 9f3be8d..fe8db6a 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 3420d1a..89c1279 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 6e80fd5..1f2deba 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 3eb3d35..cdaff1d 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 25c57ec..2bdbd72 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 37889e6..7181a08 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 6ffcc4a..095f524 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)
+