Below is the file 'Makefile' from this revision. You can also download the file.

# Makefile

NAME=quad

SSRCS=crt0.s
CSRCS=main.c i2c.c wmp.c timer.c interrupt.c uart.c event.c

COPTIM?=-O1
CFLAGS=-march=armv4t -msoft-float $(COPTIM) -Wall -Werror -Wextra

LDSCRIPT=lpc2103_flash.ld
CC=arm-elf-gcc
OBJCOPY=arm-elf-objcopy

CLEANOBJS=$(OBJS) $(NAME).hex $(NAME).elf $(NAME).bin $(NAME).map .depend

all: $(NAME).bin


# In theory, nothing below here needs touching for as long as all of the
# sources are in a single directory.

COBJS=$(CSRCS:.c=.o)
SOBJS=$(SSRCS:.s=.o)
OBJS=$(SOBJS) $(COBJS)

.SUFFIXES: .elf .hex .bin

$(NAME).elf: $(OBJS)
	$(CC) $(CFLAGS) -nostdlib -nostartfiles -T $(LDSCRIPT) -Wl,-Map -Wl,$(NAME).map -o $(NAME).elf $(OBJS) -lgcc

run: $(NAME).hex
	$(FLASHER) -hex -term -control $(NAME).hex $(PORT) $(SPEED) $(OSC)

.elf.hex:
	$(OBJCOPY) -O ihex ${.IMPSRC} ${.TARGET}

.hex.bin:
	$(OBJCOPY) -I ihex -O binary ${.IMPSRC} ${.TARGET}

clean:
	rm -rf $(CLEANOBJS)

depend:
	$(CC) -MM $(CFLAGS) -nostdlib -nostartfiles $(CSRCS) >.depend

.sinclude ".depend"