X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=betty%2FMakefile;h=0af33acaa0f98a8e698c9ee1cd58dc35c8dc8854;hb=3e0847553a5d514589116f8cf933d454a0db491c;hp=b5b6a5fb61f181224dc981a6fef36affec85e03c;hpb=78aa7185d5db2062e66e84ace1212f427f13c260;p=my-code%2Farm.git diff --git a/betty/Makefile b/betty/Makefile index b5b6a5f..0af33ac 100644 --- a/betty/Makefile +++ b/betty/Makefile @@ -5,12 +5,18 @@ CFLAGS = -Wall # cross build ARCH = arm-elf CROSS_CC = $(ARCH)-gcc +CROSS_AS = $(ARCH)-as +CROSS_LD = $(ARCH)-ld CROSS_OBJCOPY = $(ARCH)-objcopy -CROSS_CFLAGS = -Wall -Os -mcpu=arm7tdmi-s -nostartfiles -nostdlib +CROSS_OPTS = -mcpu=arm7tdmi-s +CROSS_CFLAGS = $(CROSS_OPTS) -Wall -Os +CROSS_ASLAGS = $(CROSS_OPTS) --gstabs +CROSS_RAM_LDFLAGS = -Tlpc2220_ram.ld -nostartfiles -nostdlib +CROSS_ROM_LDFLAGS = -Tlpc2220_rom.ld -nostartfiles -nostdlib # build objects HOST_TARGET = lpcload fwdump -CROSS_TARGET = fwbc.hex fwflash.hex +CROSS_TARGET = fwbc.hex fwflash.hex betty.hex # all projects all: $(HOST_TARGET) $(CROSS_TARGET) @@ -18,22 +24,31 @@ all: $(HOST_TARGET) $(CROSS_TARGET) # arm code arm: arm_clean $(CROSS_TARGET) -# fwbc -fwbc: - $(CROSS_CC) $(CROSS_CFLAGS) -c fwbc.c -o fwbc +# .o out of .c +%.o: %.c + $(CROSS_CC) -c $(CROSS_CFLAGS) -o $@ $< -fwbc.hex: fwbc - $(CROSS_OBJCOPY) -O ihex fwbc fwbc.hex +# .o out of .s +%.o: %.s + $(CROSS_AS) $(CROSS_ASLAGS) -o $@ $< -# fwflash -fwflash: - $(CROSS_CC) $(CROSS_CFLAGS) -c fwflash.c -o fwflash +# .elf out of .o +%.elf: %.o startup.o + $(CROSS_LD) $(CROSS_RAM_LDFLAGS) startup.o -o $@ $< -fwflash.hex: fwflash - $(CROSS_OBJCOPY) -O ihex fwflash fwflash.hex +# special linker case ... +betty.elf: betty.o startup.o + $(CROSS_LD) $(CROSS_ROM_LDFLAGS) startup.o -o $@ $< +# .hex out of .elf +%.hex: %.elf + $(CROSS_OBJCOPY) -O ihex $< $@ + +# host clean clean: rm -f lpcload fwdump +# arm clean arm_clean: - rm -f $(CROSS_TARGET) fwbc fwflash + rm -vf *.o *.hex *.elf +