blob: 51e72b859b64932ae2cc7576c7c3d71f7ce931c2 [file] [log] [blame]
Linus Nielsen Feltzing257d17d2002-04-20 23:18:14 +00001CC = sh-elf-gcc
2LD = sh-elf-ld
3AR = sh-elf-ar
4AS = sh-elf-as
5OC = sh-elf-objcopy
6
Linus Nielsen Feltzing2611efd2002-05-17 08:07:23 +00007FIRMWARE=../..
8
9INCLUDES=-I$(FIRMWARE) -I$(FIRMWARE)/common -I$(FIRMWARE)/drivers
Linus Nielsen Feltzing257d17d2002-04-20 23:18:14 +000010
Linus Nielsen Feltzingc5886cb2002-05-09 23:02:50 +000011TARGET = -DARCHOS_PLAYER_OLD=1
12
Linus Nielsen Feltzing97531e82002-05-16 21:00:41 +000013CFLAGS = -g -W -Wall -m1 -save-temps -nostdlib -Wstrict-prototypes -fschedule-insns -fno-builtin $(INCLUDES) $(TARGET) -DDEBUG
Linus Nielsen Feltzing257d17d2002-04-20 23:18:14 +000014AFLAGS += -small -relax
15
Linus Nielsen Feltzing2611efd2002-05-17 08:07:23 +000016SRC := $(wildcard *.c)
17OBJS := $(SRC:%.c=%.o) $(FIRMWARE)/crt0.o
18DEPS:=.deps
19DEPDIRS:=$(DEPS)
Linus Nielsen Feltzing257d17d2002-04-20 23:18:14 +000020
21all : archos.mod
22
Linus Nielsen Feltzing257d17d2002-04-20 23:18:14 +000023archos.elf : $(OBJS) app.lds
Linus Nielsen Feltzing2611efd2002-05-17 08:07:23 +000024 $(CC) -nostartfiles -o archos.elf $(OBJS) -lgcc -lrockbox -L$(FIRMWARE) -Tapp.lds -Wl,-Map,archos.map
Linus Nielsen Feltzing257d17d2002-04-20 23:18:14 +000025
26archos.bin : archos.elf
27 $(OC) -O binary archos.elf archos.bin
28
29archos.asm: archos.bin
30 sh2d -sh1 archos.bin > archos.asm
31
32archos.mod : archos.bin
33 scramble archos.bin archos.mod
34
35archos.mod.gz : archos.mod
36 gzip -f archos.mod
37
38dist:
39 tar czvf dist.tar.gz Makefile main.c start.s app.lds
40
41clean:
Linus Nielsen Feltzing97531e82002-05-16 21:00:41 +000042 -rm -f $(OBJS) *.x *.i *.o *.s *.elf *.bin *.map *.mod *.bak *~
Linus Nielsen Feltzing2611efd2002-05-17 08:07:23 +000043 -$(RM) -r $(DEPS)
Linus Nielsen Feltzing257d17d2002-04-20 23:18:14 +000044
Linus Nielsen Feltzing2611efd2002-05-17 08:07:23 +000045$(DEPS)/%.d: %.c
46 @$(SHELL) -c 'for d in $(DEPDIRS); do { if [ ! -d $$d ]; then mkdir $$d; fi; }; done'
47 @echo "Updating dependencies for $<"
48 @$(SHELL) -ec '$(CC) -MM $(CFLAGS) $< \
49 |sed '\''s|\($*\)\.o[ :]*|\1.o $(<:%.c=%.d) : |g'\'' > $@; \
50 [ -s $@ ] || rm -f $@'
Linus Nielsen Feltzingdba731f2002-05-06 19:25:40 +000051
Linus Nielsen Feltzing2611efd2002-05-17 08:07:23 +000052-include $(SRC:%.c=$(DEPS)/%.d)
Linus Nielsen Feltzingbb69a592002-05-11 21:39:57 +000053