From 575f1a7d423493b8ad511bf0c3b716140d25b51b Mon Sep 17 00:00:00 2001 From: bernd Date: Wed, 20 Jul 2011 07:05:58 +0200 Subject: [PATCH] Use generated include-bridges for Makefiles --- simulat0r/bin/update-bridge-files.sh | 21 +++++++- simulat0r/firmware/applications/Makefile | 68 +----------------------- simulat0r/firmware/core/Makefile | 58 +------------------- simulat0r/firmware/filesystem/Makefile | 32 +---------- simulat0r/firmware/funk/Makefile | 27 +--------- simulat0r/firmware/lcd/Makefile | 47 +--------------- simulat0r/firmware/loadable/Makefile | 14 +---- simulat0r/firmware/loadable/Makefile.sub | 57 -------------------- simulat0r/firmware/usb/Makefile | 38 +------------ 9 files changed, 34 insertions(+), 328 deletions(-) delete mode 100644 simulat0r/firmware/loadable/Makefile.sub diff --git a/simulat0r/bin/update-bridge-files.sh b/simulat0r/bin/update-bridge-files.sh index 5d74ef4..f278dc5 100755 --- a/simulat0r/bin/update-bridge-files.sh +++ b/simulat0r/bin/update-bridge-files.sh @@ -5,6 +5,13 @@ true # echo $1 } +if test ! -d simulat0r/firmware -o ! -d firmware +then +echo ERROR: +echo This script must be run from toplevel r0ket directory +exit +fi + echo "Updating directories" for i in `find firmware/ -type d ` do @@ -14,7 +21,7 @@ else mkdir -v simulat0r/$i fi done -echo "Updating bridge files" +echo "Updating bridge files for C source" for i in `find firmware/ \! -path firmware/lcd/allfonts.h -type f -iname \*.[ch]` do if test -f simulat0r/$i; @@ -25,3 +32,15 @@ do (printf "/* AUTOGENERATED SOURCE FILE */\n"; echo \#include \"`dirname $i | sed "s#[^/]*#..#g" `/../$i\") >simulat0r/$i fi done + +echo "Updating bridge files for Makefiles" +for i in `find firmware/ -type f -iname Makefile` +do + if test -f simulat0r/$i; + then + verbmsg "OK File already exists: $i" + else + echo Writing bridge file simulat0r/$i + (printf "# GENERATED INCLUDE BRIDGE/\n"; echo include `dirname $i | sed "s#[^/]*#..#g" `/../$i) >simulat0r/$i + fi +done diff --git a/simulat0r/firmware/applications/Makefile b/simulat0r/firmware/applications/Makefile index 6d034d3..adbca02 100644 --- a/simulat0r/firmware/applications/Makefile +++ b/simulat0r/firmware/applications/Makefile @@ -1,66 +1,2 @@ -########################################################################## -# User configuration and firmware specific object files -########################################################################## - -OBJS = default.o -OBJS += $(foreach mod,$(APP),$(mod).o) - -SRCS = $(foreach mod,$(APP),$(mod).c) - -ifndef APP -ME_OBJ=$(USERNAME) - -ifeq "$(ME_OBJ)" "" -ME_OBJ=$(USER) -endif - -ifeq "$(ME_OBJ)" "" -ME_OBJ=nouser -endif - -OBJS += $(ME_OBJ).o -endif - -WRAP=wrapper -LIBNAME=app - -########################################################################## -# GNU GCC compiler flags -########################################################################## -ROOT_PATH?= .. -INCLUDE_PATHS = -I$(ROOT_PATH) -I../core -I. - -include $(ROOT_PATH)/Makefile.inc - -WRAPOBJ=$(WRAP).o -WRAPSRC=$(WRAP).c -LIBFILE=lib$(LIBNAME).a - -########################################################################## -# Compiler settings, parameters and flags -########################################################################## - -all: $(LIBFILE) - -$(LIBFILE): $(OBJS) $(WRAPOBJ) - $(AR) rcs $@ $(OBJS) $(WRAPOBJ) - -%.o : %.c - $(CC) $(CFLAGS) -o $@ $< - -clean: - rm -f $(OBJS) $(WRAPOBJ) $(WRAPSRC) $(LIBFILE) *.o - -%.c: - @echo - @echo "You need to create $@ first" - @echo "It should contain a single function void main_filename(void)" - @echo - @exit 1 - -$(WRAPSRC): - ./mkwrapper $(OBJS) > $@ - -.PHONY: $(LIBFILE) $(WRAPSRC) $(SRCS) - -.SUFFIXES: +# GENERATED INCLUDE BRIDGE/ +include ../../../firmware/applications/Makefile diff --git a/simulat0r/firmware/core/Makefile b/simulat0r/firmware/core/Makefile index ec1df9e..f85ccd8 100644 --- a/simulat0r/firmware/core/Makefile +++ b/simulat0r/firmware/core/Makefile @@ -1,56 +1,2 @@ -########################################################################## -# User configuration and firmware specific object files -########################################################################## - -# The target, flash and ram of the LPC1xxx microprocessor. -# Use for the target the value: LPC11xx, LPC13xx or LPC17xx -TARGET = LPC13xx - -OBJS = sysinit.o -OBJS += adc/adc.o -#OBJS += cmd/cmd.o -OBJS += cpu/cpu.o -OBJS += gpio/gpio.o -OBJS += i2c/i2c.o -OBJS += iap/iap.o -OBJS += libc/ctype.o -OBJS += libc/stdio.o -OBJS += libc/string.o -OBJS += pmu/pmu.o -#OBJS += pwm/pwm.o -OBJS += ssp/ssp.o -OBJS += systick/systick.o -OBJS += timer16/timer16.o -OBJS += timer32/timer32.o -#OBJS += uart/uart.o -#OBJS += uart/uart_buf.o -#OBJS += usbcdc/cdcuser.o -#OBJS += usbcdc/cdc_buf.o -#OBJS += usbcdc/usbcore.o -#OBJS += usbcdc/usbdesc.o -#OBJS += usbcdc/usbhw.o -#OBJS += usbcdc/usbuser.o -OBJS += wdt/wdt.o - -########################################################################## -# GNU GCC compiler flags -########################################################################## -ROOT_PATH?= .. -INCLUDE_PATHS = -I$(ROOT_PATH) -I. - -include $(ROOT_PATH)/Makefile.inc - -########################################################################## -# Compiler settings, parameters and flags -########################################################################## - -all: libcore.a - -libcore.a: $(OBJS) - $(AR) rcs libcore.a $(OBJS) - -%.o : %.c projectconfig.h - $(CC) $(CFLAGS) -o $@ $< - -clean: - rm -f $(OBJS) libcore.a +# GENERATED INCLUDE BRIDGE/ +include ../../../firmware/core/Makefile diff --git a/simulat0r/firmware/filesystem/Makefile b/simulat0r/firmware/filesystem/Makefile index 76b2d19..b6fed1f 100644 --- a/simulat0r/firmware/filesystem/Makefile +++ b/simulat0r/firmware/filesystem/Makefile @@ -1,30 +1,2 @@ -########################################################################## -# User configuration and firmware specific object files -########################################################################## - -OBJS = - -OBJS += ff.o -OBJS += diskio.o -OBJS += iobase.o -OBJS += mmc.o -OBJS += at45db041d.o -OBJS += util.o -OBJS += select.o -OBJS += execute.o - -LIBNAME=fat - -########################################################################## -# GNU GCC compiler flags -########################################################################## -ROOT_PATH?= .. -INCLUDE_PATHS = -I$(ROOT_PATH) -I../core -I. - -include $(ROOT_PATH)/Makefile.inc - -########################################################################## -# Actual work -########################################################################## - -include $(ROOT_PATH)/Makefile.util +# GENERATED INCLUDE BRIDGE/ +include ../../../firmware/filesystem/Makefile diff --git a/simulat0r/firmware/funk/Makefile b/simulat0r/firmware/funk/Makefile index dd2a593..e5dba98 100644 --- a/simulat0r/firmware/funk/Makefile +++ b/simulat0r/firmware/funk/Makefile @@ -1,25 +1,2 @@ -########################################################################## -# User configuration and firmware specific object files -########################################################################## - -OBJS = - -OBJS += nrf24l01p.o -OBJS += rftransfer.o -OBJS += filetransfer.o - -LIBNAME=funk - -########################################################################## -# GNU GCC compiler flags -########################################################################## -ROOT_PATH?= .. -INCLUDE_PATHS = -I$(ROOT_PATH) -I../core -I. - -include $(ROOT_PATH)/Makefile.inc - -########################################################################## -# Actual work -########################################################################## - -include $(ROOT_PATH)/Makefile.util +# GENERATED INCLUDE BRIDGE/ +include ../../../firmware/funk/Makefile diff --git a/simulat0r/firmware/lcd/Makefile b/simulat0r/firmware/lcd/Makefile index fe639a3..d17981e 100644 --- a/simulat0r/firmware/lcd/Makefile +++ b/simulat0r/firmware/lcd/Makefile @@ -1,45 +1,2 @@ -########################################################################## -# User configuration and firmware specific object files -########################################################################## - -OBJS = - -OBJS += display.o -OBJS += render.o -OBJS += decoder.o -OBJS += backlight.o -OBJS += print.o - -FONTS = $(basename $(wildcard fonts/*.c)) - -LIBNAME=lcd - -########################################################################## -# GNU GCC compiler flags -########################################################################## -ROOT_PATH?= .. -INCLUDE_PATHS = -I$(ROOT_PATH) -I../core -I. - -include $(ROOT_PATH)/Makefile.inc - -FOBJS= $(foreach ft,$(FONTS),$(ft).o) -OBJS+= $(FOBJS) - -########################################################################## -# Actual work -########################################################################## - -include $(ROOT_PATH)/Makefile.util - -all: allfonts.h - -$(FOBJS): $(foreach ft,$(FONTS),$(ft).h) fonts.h - -clean:: - rm -f fonts/*.o allfonts.h - touch allfonts.h - -.PHONY: allfonts.h - -allfonts.h: - (echo "#include ";for a in $(FONTS) ; do echo "#include "; done) > $@ +# GENERATED INCLUDE BRIDGE/ +include ../../../firmware/lcd/Makefile diff --git a/simulat0r/firmware/loadable/Makefile b/simulat0r/firmware/loadable/Makefile index fa86f1e..38a36e7 100644 --- a/simulat0r/firmware/loadable/Makefile +++ b/simulat0r/firmware/loadable/Makefile @@ -1,12 +1,2 @@ -# Make doesn't allow dependencies on parent directory, so we need to -# run make from one level up: - -MAKEFILE=loadable/Makefile.sub -MAKE+=--no-print-directory - -all: - @cd .. && $(MAKE) -f $(MAKEFILE) - -clean: - @cd .. && $(MAKE) -f $(MAKEFILE) clean - +# GENERATED INCLUDE BRIDGE/ +include ../../../firmware/loadable/Makefile diff --git a/simulat0r/firmware/loadable/Makefile.sub b/simulat0r/firmware/loadable/Makefile.sub deleted file mode 100644 index aa2f3ee..0000000 --- a/simulat0r/firmware/loadable/Makefile.sub +++ /dev/null @@ -1,57 +0,0 @@ -DIR?= loadable - -########################################################################## -# User configuration and firmware specific object files -########################################################################## -SRCS = $(wildcard $(DIR)/*.c) -OBJS = $(foreach mod,$(SRCS),$(subst .c,.o,$(mod))) -ELFS = $(foreach mod,$(SRCS),$(subst .c,.elf,$(mod))) -BINS = $(foreach mod,$(SRCS),$(subst .c,.bin,$(mod))) -HDRS = $(foreach mod,$(SRCS),$(subst .c,.h,$(mod))) - -########################################################################## -# GNU GCC compiler flags -########################################################################## -ROOT_PATH?= . - -INCLUDE_PATHS = -I$(ROOT_PATH) -I$(ROOT_PATH)/core - -include $(ROOT_PATH)/Makefile.inc - -########################################################################## -# Compiler settings, parameters and flags -########################################################################## -FIRMWARE=$(ROOT_PATH)/$(OUTFILE).elf -LDSRCFILE=$(DIR)/ram.ld -LDFILE=$(DIR)/loadable.ld -CFLAGS+=-mlong-calls -fno-toplevel-reorder -LDFLAGS+= -R $(FIRMWARE) - -all: $(OBJS) $(ELFS) $(BINS) $(HDRS) - -$(LDFILE): - -@echo "MEMORY" > $(LDFILE) - -@echo "{" >> $(LDFILE) - -@echo " sram(rwx): ORIGIN = 0x10002000 - $(RAMCODE), LENGTH = $(RAMCODE)" >> $(LDFILE) - -@echo "}" >> $(LDFILE) - -@echo "INCLUDE $(LDSRCFILE)" >> $(LDFILE) - -%.o : %.c - $(CC) $(CFLAGS) -o $@ $< - -%.elf: %.o $(FIRMWARE) $(LDFILE) - $(LD) $(LDFLAGS) -T $(LDFILE) -o $@ $< - $(SIZE) $@ - -%.bin: %.elf - $(OBJCOPY) $(OCFLAGS) -O binary $< $@ - -%.h: %.bin $(DIR)/bin2h.pl - $(DIR)/bin2h.pl $< - -clean: - cd $(DIR) && rm -f *.o *.elf *.bin - -.SUFFIXES: - -.PHONY: $(LDFILE) diff --git a/simulat0r/firmware/usb/Makefile b/simulat0r/firmware/usb/Makefile index d54ddf3..76d0639 100644 --- a/simulat0r/firmware/usb/Makefile +++ b/simulat0r/firmware/usb/Makefile @@ -1,36 +1,2 @@ -########################################################################## -# User configuration and firmware specific object files -########################################################################## - -OBJS = - -OBJS += usbconfig.o -OBJS += usbhid.o -OBJS += usbmsc.o - -LIBNAME=usb - -########################################################################## -# GNU GCC compiler flags -########################################################################## -ROOT_PATH?= .. -INCLUDE_PATHS = -I$(ROOT_PATH) -I../core -I. - -include $(ROOT_PATH)/Makefile.inc - -LIBFILE=lib$(LIBNAME).a -########################################################################## -# Compiler settings, parameters and flags -########################################################################## - -all: $(LIBFILE) - -$(LIBFILE): $(OBJS) - $(AR) rcs $@ $(OBJS) - -%.o : %.c - $(CC) $(CFLAGS) -o $@ $< - -clean: - rm -f $(OBJS) $(LIBFILE) - +# GENERATED INCLUDE BRIDGE/ +include ../../../firmware/usb/Makefile