2009-02-17 09:36:51 +01:00

56 lines
1.2 KiB
Makefile

LIBNAME = ../usbstack
APPNAME = main
# Tool definitions
CC = arm-elf-gcc
LD = arm-elf-ld -v
AR = arm-elf-ar
AS = arm-elf-as
CP = arm-elf-objcopy
OD = arm-elf-objdump
RM = rm
# Tool flags
CFLAGS = -I./ -I../ -c -W -Wall -Os -g -DDEBUG -mcpu=arm7tdmi
ASFLAGS = -ahls -mapcs-32 -o crt.o
LFLAGS = -nostartfiles --warn-common
CPFLAGS = -O ihex
ODFLAGS = -x --syms
LINKFILE = lpc2148-rom.ld
CSRCS = startup.c printf.c console.c
OBJS = crt.o $(CSRCS:.c=.o)
EXAMPLES = custom
all: depend $(EXAMPLES)
custom: $(OBJS) main_custom.o $(LIBNAME).a
$(EXAMPLES):
@ echo "Building $@ example..."
$(CC) -T $(LINKFILE) $(LFLAGS) $^ -o $@.elf -Wl,-Map,$@.map
$(CP) $(CPFLAGS) $@.elf $@.hex
$(CP) -O binary $@.elf $@.bin
$(OD) $(ODFLAGS) $@.elf > $@.dmp
crt.o: crt.s
@ echo ".assembling"
$(CC) -c $(AFLAGS) -Wa,-ahlms=crt.lst crt.s -o crt.o
clean:
rm -f *.hex *.elf *.o *.lst *.dmp *.map .depend
# recompile if the Makefile changes
$(OBJS): Makefile
# dependency checking
depend: $(CSRCS)
$(CC) $(CFLAGS) -MM $^ > .depend || rm -f .depend
# phony targets
.PHONY: clean
-include .depend