]> hydra-www.ietfng.org Git - acmetensortoys-chiptunes/commitdiff
Add top-level Makefile
authorNathaniel Wesley Filardo <nwf@smaug.priv.ietfng.org>
Sun, 21 Feb 2010 06:52:52 +0000 (01:52 -0500)
committerNathaniel Wesley Filardo <nwf@smaug.priv.ietfng.org>
Sun, 21 Feb 2010 06:52:52 +0000 (01:52 -0500)
Makefile [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..6c5ca31
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,44 @@
+CPU_CPP_NAME=__AVR_ATmega88__
+CPU_CC_NAME=avr4
+CPU_LD_NAME=avr4
+CPU_FREQUENCY=2000000
+SAMPLE_RATE=16000
+
+tracker/%: CPPFLAGS=-I.
+tracker/%: LDFLAGS=-lSDL -lncurses
+tracker/%: CFLAGS=-Wall
+tracker/%: CC=gcc
+
+target/%: CPPFLAGS=-I. -D${CPU_CPP_NAME}
+target/%: CFLAGS=-O2 -B/usr/avr/lib -Wall -mmcu=${CPU_CC_NAME}
+target/%: ASFLAGS=-mmcu=${CPU_CC_NAME}
+target/%: LDFLAGS=-Tdata 0x800160 -M -m ${CPU_LD_NAME}
+target/%: CC=avr-gcc
+target/%: LD=avr-ld
+target/%: AS=avr-as
+
+all:   tracker/tracker target/flash.hex
+
+progenv/gentimes.c: progenv/gentimes.pl
+       perl $^ --mode=C --fcpu=${CPU_FREQUENCY} --samprate=${SAMPLE_RATE} > $@
+
+progenv/gentimes.h: progenv/gentimes.pl
+       perl $^ --mode=H --fcpu=${CPU_FREQUENCY} --samprate=${SAMPLE_RATE} > $@
+
+tracker/chip.o: progenv/gentimes.h
+target/flash.o: progenv/gentimes.h
+progenv/gentimes.o: progenv/gentimes.h
+
+tracker/tracker: tracker/main.o tracker/chip.o tracker/gui.o progenv/gentimes.o
+       ${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o $@ $^ 
+
+target/flash.o: target/main.c target/asm.S tracker/exported.s progenv/gentimes.c
+       ${CC} ${CPPFLAGS} ${CFLAGS} -o $@ $^
+
+target/flash.hex: target/flash.o
+       ${LD} ${LDFLAGS} --oformat ihex -o $@ $^ > target/mapfile
+
+clean:
+       rm -f tracker/*.o tracker/tracker
+       rm -f target/*.o target/mapfile target/flash.hex
+       rm -f progenv/gentimes.[ch]