summaryrefslogtreecommitdiff
path: root/apps/Makefile
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2002-05-16 12:53:40 +0000
committerBjörn Stenberg <bjorn@haxx.se>2002-05-16 12:53:40 +0000
commit8218285c0b848cf2173a59129062e033d0c8e46a (patch)
treecfce21fbe241a863f19d8998f6e1a0bffdf06fce /apps/Makefile
parent784c625f331ec0326fe462f0fa58a67ba23fd9ee (diff)
downloadrockbox-8218285c0b848cf2173a59129062e033d0c8e46a.zip
rockbox-8218285c0b848cf2173a59129062e033d0c8e46a.tar.gz
rockbox-8218285c0b848cf2173a59129062e033d0c8e46a.tar.bz2
rockbox-8218285c0b848cf2173a59129062e033d0c8e46a.tar.xz
Initial revision
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@586 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/Makefile')
-rw-r--r--apps/Makefile64
1 files changed, 64 insertions, 0 deletions
diff --git a/apps/Makefile b/apps/Makefile
new file mode 100644
index 0000000..c8b87ae
--- /dev/null
+++ b/apps/Makefile
@@ -0,0 +1,64 @@
+# __________ __ ___.
+# Open \______ \ ____ ____ | | _\_ |__ _______ ___
+# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+# \/ \/ \/ \/ \/
+# $Id$
+#
+
+CC = sh-elf-gcc
+LD = sh-elf-ld
+AR = sh-elf-ar
+AS = sh-elf-as
+OC = sh-elf-objcopy
+
+FIRMWARE := ../firmware
+
+INCLUDES= -I$(FIRMWARE) -I$(FIRMWARE)/common -I$(FIRMWARE)/drivers
+
+# Pick a target to build for
+TARGET = -DARCHOS_PLAYER=1
+#TARGET = -DARCHOS_PLAYER_OLD=1
+#TARGET = -DARCHOS_RECORDER=1
+
+CFLAGS = -Os -W -Wall -m1 -nostdlib -Wstrict-prototypes -fomit-frame-pointer -fschedule-insns $(INCLUDES) $(TARGET) -DDEBUG
+AFLAGS += -small -relax
+
+SRC := $(wildcard drivers/*.c common/*.c *.c)
+OBJS := $(SRC:%.c=%.o) crt0.o
+
+all : archos.mod # archos.asm
+
+archos.elf : $(OBJS) $(FIRMWARE)/app.lds
+ $(CC) -nostdlib -o archos.elf $(OBJS) -lgcc -lc -T$(FIRMWARE)/app.lds -Wl,-Map,archos.map
+
+archos.bin : archos.elf
+ $(OC) -O binary archos.elf archos.bin
+
+archos.asm: archos.bin
+ ../tools/sh2d -sh1 archos.bin > archos.asm
+
+archos.mod : archos.bin
+ ../tools/scramble archos.bin archos.mod
+
+dist:
+ tar czvf dist.tar.gz Makefile main.c start.s app.lds
+
+clean:
+ -rm -f *.x *.i *.o *.elf *.bin *.map *.mod *.bak *~
+ -$(RM) -r $(DEPS)
+
+crt0.o: $(FIRMWARE)/crt0.S
+
+DEPS:=.deps
+DEPDIRS:=$(DEPS) $(DEPS)/drivers $(DEPS)/common
+
+$(DEPS)/%.d: %.c
+ @$(SHELL) -c 'for d in $(DEPDIRS); do { if [ ! -d $$d ]; then mkdir $$d; fi; }; done'
+ @echo "Updating dependencies for $<"
+ @$(SHELL) -ec '$(CC) -MM $(CFLAGS) $< \
+ |sed '\''s|\($*\)\.o[ :]*|\1.o $(<:%.c=%.d) : |g'\'' > $@; \
+ [ -s $@ ] || rm -f $@'
+
+-include $(SRC:%.c=$(DEPS)/%.d)