diff --git a/Makefile.include b/Makefile.include new file mode 100644 index 000000000..38dd85d99 --- /dev/null +++ b/Makefile.include @@ -0,0 +1,139 @@ +# +# (C) Copyright 2000-2004 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +# Deal with colliding definitions from tcsh etc. +VENDOR= + +######################################################################### + +ARCH = arm +CPU = arm7tdmi-s +export ARCH CPU VENDOR + +# load other configuration +include $(LIBMC1322x)/config.mk + +######################################################################### + +AOBJS = +COBJS = $(patsubst %.c,%.o,$(wildcard $(LIBMC1322x)/src/*.c)) +#TESTS = $(wildcard tests/*.c) +#TESTS = tests/blink-red.c #tests/nvm-read.c +TARGETS = $(patsubst %.c,%.o,$(TESTS)) + +# Add GCC lib +PLATFORM_LIBS += --no-warn-mismatch -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc + +######################################################################### + +ALL = $(TESTS:.c=.srec) $(TESTS:.c=.bin) $(TESTS:.c=.dis) + +.PRECIOUS: $(COBJS) $(TARGETS) $(TESTS:.c=.obj) + +LIBOBJS = $(patsubst %.c,%.o,$(wildcard libmc1322x/*.c)) + +include $(LIBMC1322x)/board/dev/Makefile + +libmc1322x: libmc1322x.a + +libmc1322x.a: $(LIBOBJS) + $(AR) r libmc1322x.a $(LIBOBJS) + +#all: src/start.o src/isr.o $(ALL) + +#tests/flasher.obj: src/maca.o src/nvm.o +#tests/nvm-read.obj: src/maca.o src/nvm.o +#tests/nvm-write.obj: src/maca.o src/nvm.o +#tests/rftest-rx.obj: src/maca.o src/nvm.o +#tests/rftest-tx.obj: src/maca.o src/nvm.o +#tests/tmr-ints.obj: src/isr.o +#tests/sleep.obj: src/isr.o src/maca.o src/nvm.o + +NOTHUMB_CPPFLAGS := $(DBGFLAGS) $(OPTFLAGS) $(RELFLAGS) \ + -D__KERNEL__ -DTEXT_BASE=$(TEXT_BASE) \ + -I$(LIBMC1322x)/libmc1322x/include \ + -fno-builtin -ffreestanding -nostdinc -isystem \ + $(gccincdir) -pipe +NOTHUMB_CPPFLAGS_EXTRA = -march=armv4t -mlong-calls -mtune=arm7tdmi-s -DCONFIG_ARM -D__ARM__ -mthumb-interwork + + +src/isr.o: src/isr.c + $(CC) $(NOTHUMB_CPPFLAGS) $(NOTHUMB_CPPFLAGS_EXTRA) -c -o $@ $< + +%.srec: %.obj + $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@ + +%.ihex: %.obj + $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ + +%.bin: %.obj + $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ + +%.dis: %.obj + $(OBJDUMP) -SD $< > $@ + +%.obj: $(LDSCRIPT) %.o src/isr.o + $(LD) $(LDFLAGS) $(AOBJS) \ + --start-group $(PLATFORM_LIBS) --end-group \ + -Map $*.map $^ -o $@ + + +%.System.map: %.obj + @$(NM) $< | \ + grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ + sort > $*.System.map + + +######################################################################### + +.depend: Makefile $(AOBJS:.o=.S) $(COBJS:.o=.c) + $(CC) -M $(CFLAGS) $(AOBJS:.o=.S) $(COBJS:.o=.c) > $@ + +sinclude .depend + +######################################################################### + +clean: + find . -type f \ + \( -name 'core' -o -name '*.bak' -o -name '*~' \ + -o -name '*.o' -o -name '*.a' -o -name '*.obj' \) -print \ + | xargs rm -f + rm -f $(ALL) $(OBJS) + +clobber: clean + find . -type f \ + \( -name .depend -o -name '*.srec' -o -name '*.bin' -o -name '*.dis' -o -name '*.map' -o -name '*.obj' \) \ + -print \ + | xargs rm -f + rm -f $(OBJS) *.bak tags TAGS + rm -fr *.*~ + rm -f $(ALL) + +mrproper \ +distclean: clobber + +backup: + F=`basename $(LIBMC1322x)` ; cd .. ; \ + tar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F + +######################################################################### diff --git a/tests/Makefile b/tests/Makefile new file mode 100644 index 000000000..e064d7352 --- /dev/null +++ b/tests/Makefile @@ -0,0 +1,7 @@ +LIBMC1322x = .. + +BOARD=dev + +include $(LIBMC1322x)/Makefile.include + +all: blink-red \ No newline at end of file