The unified diff between revisions [7ac10cd3..] and [64de686d..] is displayed below. It can also be downloaded as a raw diff.

This diff has been restricted to the following files: 'Makefile'

#
# old_revision [7ac10cd34167baa43683a09e9e9e6778e691171d]
# new_revision [64de686d701acb9539dc52fe0bff299405612ab0]
#
# patch "Makefile"
#  from [50a03fdf9f72cd0c2176b68271ca76d1e1df12eb]
#    to [3c0587750b990cb4dc04f8caccec5088db10298c]
#
============================================================
--- Makefile	50a03fdf9f72cd0c2176b68271ca76d1e1df12eb
+++ Makefile	3c0587750b990cb4dc04f8caccec5088db10298c
@@ -2,15 +2,27 @@ NAME=quad
 
 NAME=quad
 
-OBJS=crt0.o main.o
+SSRCS=crt0.s
+CSRCS=main.c i2c.c wmp.c timer.c interrupt.c uart.c event.c matrix.c dcm.c
+CSRCS+=fisqrt.c stick.c trig.c motor.c led.c watchdog.c panic.c status.c
 
-CFLAGS=-march=armv4t -msoft-float
+#PROJOPTS=-DUSE_UART -DSEND_DCM
 
+COPTIM?=-O1
+CFLAGS=-march=armv4t -msoft-float $(COPTIM) -Wall -Werror -Wextra $(PROJOPTS)
+
 LDSCRIPT=lpc2103_flash.ld
+
+# To build with the Clang Static Analyzer, use
+#     scan-build --use-cc=arm-elf-gcc make
+# And uncomment the following line:
 CC=arm-elf-gcc
+
 OBJCOPY=arm-elf-objcopy
+LINT=splint
+LINTFLAGS=-booltype bool -nolib +charint
 
-CLEANOBJS=$(OBJS) $(NAME).hex $(NAME).elf $(NAME).bin $(NAME).map
+CLEANOBJS=$(OBJS) $(NAME).hex $(NAME).elf $(NAME).bin $(NAME).map .depend
 
 all: $(NAME).bin
 
@@ -18,6 +30,9 @@ 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
 
@@ -36,3 +51,10 @@ clean:
 clean:
 	rm -rf $(CLEANOBJS)
 
+depend:
+	$(CC) -MM $(CFLAGS) -nostdlib -nostartfiles $(CSRCS) >.depend
+
+lint:
+	$(LINT) $(LINTFLAGS) $(CSRCS)
+
+.sinclude ".depend"