############################################################### ##### ##### Makefile for ramtool and lpctool ##### ############################################################### ############################################################### ##### ##### PATHS (default installation) ##### ############################################################### ARMBASE=/opt/summon-arm-toolchain INCLUDEPATH=$(ARMBASE)/include LIBPATH=$(ARMBASE)/arm-elf/lib/interwork ARMPATH=$(ARMBASE)/bin TOOLPREFIX=/arm-none-eabi- INSTALLDIR_BIN=/usr/local/bin -include Makefile.local ############################################################### ##### ##### Compiler, Linker and Tools ##### ############################################################### CC=$(ARMPATH)$(TOOLPREFIX)gcc AS=$(ARMPATH)$(TOOLPREFIX)as LD=$(ARMPATH)$(TOOLPREFIX)ld OC=$(ARMPATH)$(TOOLPREFIX)objcopy OD=$(ARMPATH)$(TOOLPREFIX)objdump CPUFLAGS=-mcpu=arm7tdmi-s OPTFLAGS=-Os #OPTFLAGS=-O0 #OPTFLAGS= CFLAGS=$(CPUFLAGS) -c -Wall -mthumb-interwork -msoft-float -I$(INCLUDEPATH) ASFLAGS=$(CPUFLAGS) -D --gstabs -mthumb-interwork -mfpu=softfpa LDFLAGS=$(OPTFLAGS) -Tlpc2220.ld ROMLDFLAGS=$(OPTFLAGS) -Tlpc2220_rom.ld ############################################################### ##### ##### Do the whole shabang ##### ############################################################### all: ramtool.bin romtool.bin lpctool ramtool.bin: ramtool.elf $(OC) -O binary ramtool.elf ramtool.bin ramtool.elf: crt.o serial.o lcd.o fonty.o flash.o ramtool.o lpc2220.ld $(LD) $(LDFLAGS) -o ramtool.elf crt.o serial.o lcd.o fonty.o flash.o ramtool.o romtool.bin: romtool.elf $(OC) -O binary romtool.elf romtool.bin romtool.elf: crt.o serial.o lcd.o fonty.o flash.o romtool.o lpc2220_rom.ld $(LD) $(ROMLDFLAGS) -o romtool.elf crt.o serial.o lcd.o fonty.o flash.o romtool.o crt.o: crt.s $(AS) $(ASFLAGS) -o crt.o crt.s flash.o: flash.c flash.h serial.h lcd.h $(CC) $(CFLAGS) -o flash.o flash.c lcd.o: lcd.c lcd.h lpc2220.h $(CC) $(CFLAGS) -o lcd.o lcd.c fonty.o: fonty.c fonty.h charset.bits charset.info lcd.h $(CC) $(CFLAGS) -o fonty.o fonty.c serial.o: serial.c serial.h lcd.h lpc2220.h $(CC) $(CFLAGS) -o serial.o serial.c ramtool.o: ramtool.c serial.o lcd.h flash.h lpc2220.h $(CC) $(CFLAGS) -o ramtool.o ramtool.c romtool.o: ramtool.c serial.o lcd.h flash.h lpc2220.h $(CC) $(CFLAGS) -DRESIDENT -o romtool.o ramtool.c bin2h: bin2h.c ramtool.bin gcc -Os bin2h.c -o bin2h strip bin2h tool_data.h: bin2h ./bin2h > tool_data.h lpctool: infohelper.c lpctool_serial.c bootcom.c toolcom.c lpctool.c infohelper.h lpctool_serial.h bootcom.h toolcom.h tool_data.h gcc -Os infohelper.c lpctool_serial.c bootcom.c toolcom.c lpctool.c -o lpctool strip lpctool upload: lpctool ./lpctool -i -v resident: romtool.bin lpctool ./lpctool -S -i -a romtool.bin -v uresident: romtool.bin lpctool ./lpctool -d /dev/ttyUSB0 -S -i -a romtool.bin -v install: lpctool cp lpctool $(INSTALLDIR_BIN) uninstall: rm $(INSTALLDIR_BIN)/lpctool clean: $(RM) *.o ramtool.elf ramtool.bin romtool.elf romtool.bin *~ lpctool tool_data.h bin2h ### EOF