diff options
Diffstat (limited to 'apps/Makefile')
-rw-r--r-- | apps/Makefile | 76 |
1 files changed, 39 insertions, 37 deletions
diff --git a/apps/Makefile b/apps/Makefile index 69b1fba577..b8db408a7e 100644 --- a/apps/Makefile +++ b/apps/Makefile | |||
@@ -7,7 +7,8 @@ | |||
7 | # $Id$ | 7 | # $Id$ |
8 | # | 8 | # |
9 | 9 | ||
10 | INCLUDES= -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I. -I$(OBJDIR) | 10 | INCLUDES= -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I. -I$(BUILDDIR) \ |
11 | -I$(OBJDIR) | ||
11 | 12 | ||
12 | DEPFILE = $(OBJDIR)/dep-apps | 13 | DEPFILE = $(OBJDIR)/dep-apps |
13 | LDS := $(FIRMDIR)/app.lds | 14 | LDS := $(FIRMDIR)/app.lds |
@@ -43,29 +44,26 @@ MAXOUTFILE = $(OBJDIR)/romstart | |||
43 | 44 | ||
44 | ifdef SIMVER | 45 | ifdef SIMVER |
45 | # this is a sim build | 46 | # this is a sim build |
46 | COMMONLIB = $(ROOTDIR)/uisimulator/common/libcomsim.a | 47 | COMMONLIB = $(BUILDDIR)/comsim/libcomsim.a |
47 | 48 | ||
48 | all: $(COMMONLIB) $(OBJDIR)/$(BINARY) $(CODECS) $(ROCKS) | 49 | all: $(COMMONLIB) $(BUILDDIR)/$(BINARY) $(CODECS) $(ROCKS) |
49 | @$(MAKE) -C $(SIMDIR) | 50 | @$(MAKE) -C $(SIMDIR) |
50 | 51 | ||
51 | $(COMMONLIB): | 52 | $(COMMONLIB): |
52 | @$(MAKE) -C $(ROOTDIR)/uisimulator/common | 53 | @$(MAKE) -C $(ROOTDIR)/uisimulator/common |
53 | else | 54 | else |
54 | # regular target build | 55 | # regular target build |
55 | all: $(OBJDIR)/$(BINARY) $(FLASHFILE) $(CODECS) $(ROCKS) $(ARCHOSROM) | 56 | all: $(BUILDDIR)/$(BINARY) $(FLASHFILE) $(CODECS) $(ROCKS) $(ARCHOSROM) |
56 | endif | 57 | endif |
57 | 58 | ||
58 | dep: $(DEPFILE) | 59 | dep: $(DEPFILE) |
59 | 60 | ||
60 | build-codecs: | 61 | build-codecs: |
61 | @$(MAKE) -C codecs | 62 | @$(MAKE) -C codecs OBJDIR=$(OBJDIR)/codecs |
62 | 63 | ||
63 | rocks: | 64 | rocks: |
64 | @$(MAKE) -C plugins/lib | 65 | @$(MAKE) -C plugins/lib OBJDIR=$(OBJDIR)/plugins/lib |
65 | @$(MAKE) -C plugins | 66 | @$(MAKE) -C plugins OBJDIR=$(OBJDIR)/plugins |
66 | |||
67 | $(OBJDIR)/librockbox.a: | ||
68 | @$(MAKE) -C $(FIRMDIR) | ||
69 | 67 | ||
70 | $(LINKFILE): $(LDS) | 68 | $(LINKFILE): $(LDS) |
71 | @echo "Build LDS file" | 69 | @echo "Build LDS file" |
@@ -81,28 +79,28 @@ $(MAXOUTFILE): | |||
81 | @cat $(MAXINFILE) | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P $(ROMBUILD) - > $(MAXOUTFILE) | 79 | @cat $(MAXINFILE) | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P $(ROMBUILD) - > $(MAXOUTFILE) |
82 | @rm $(MAXINFILE) | 80 | @rm $(MAXINFILE) |
83 | 81 | ||
84 | $(OBJDIR)/rombox.elf : $(OBJS) $(LINKROM) $(OBJDIR)/librockbox.a $(DEPFILE) | 82 | $(OBJDIR)/rombox.elf : $(OBJS) $(LINKROM) $(DEPFILE) |
85 | @echo "LD rombox.elf" | 83 | @echo "LD rombox.elf" |
86 | @$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(OBJDIR) -lrockbox -lgcc -L$(FIRMDIR) -T$(LINKROM) -Wl,-Map,$(OBJDIR)/rombox.map | 84 | @$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(BUILDDIR) -lrockbox -lgcc -L$(BUILDDIR)/firmware -T$(LINKROM) -Wl,-Map,$(OBJDIR)/rombox.map |
87 | 85 | ||
88 | ifndef SIMVER | 86 | ifndef SIMVER |
89 | 87 | ||
90 | $(OBJDIR)/rockbox.elf : $(OBJS) $(LINKFILE) $(OBJDIR)/librockbox.a $(DEPFILE) | 88 | $(OBJDIR)/rockbox.elf : $(OBJS) $(LINKFILE) $(DEPFILE) |
91 | @echo "LD rockbox.elf" | 89 | @echo "LD rockbox.elf" |
92 | $(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(OBJDIR) -lrockbox -lgcc -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/rockbox.map | 90 | @$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(BUILDDIR)/firmware -L$(BUILDDIR) -lrockbox -lgcc -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/rockbox.map |
93 | 91 | ||
94 | $(OBJDIR)/rockbox.bin : $(OBJDIR)/rockbox.elf | 92 | $(OBJDIR)/rockbox.bin : $(OBJDIR)/rockbox.elf |
95 | @echo "OBJCOPY $<" | 93 | @echo "OBJCOPY "`basename $@` |
96 | @$(OC) -O binary $< $@ | 94 | @$(OC) -O binary $< $@ |
97 | 95 | ||
98 | $(OBJDIR)/rombox.bin : $(OBJDIR)/rombox.elf | 96 | $(OBJDIR)/rombox.bin : $(OBJDIR)/rombox.elf |
99 | @echo "OBJCOPY $<" | 97 | @echo "OBJCOPY "`basename $@` |
100 | @$(OC) -O binary $< $@ | 98 | @$(OC) -O binary $< $@ |
101 | 99 | ||
102 | $(OBJDIR)/rockbox.asm: $(OBJDIR)/rockbox.bin | 100 | $(OBJDIR)/rockbox.asm: $(OBJDIR)/rockbox.bin |
103 | $(TOOLSDIR)/sh2d -sh1 $< > $@ | 101 | $(TOOLSDIR)/sh2d -sh1 $< > $@ |
104 | 102 | ||
105 | $(OBJDIR)/$(BINARY) : $(OBJDIR)/rockbox.bin | 103 | $(BUILDDIR)/$(BINARY) : $(OBJDIR)/rockbox.bin |
106 | @echo "Build firmware file" | 104 | @echo "Build firmware file" |
107 | @$(MKFIRMWARE) $< $@ | 105 | @$(MKFIRMWARE) $< $@ |
108 | 106 | ||
@@ -111,22 +109,23 @@ else | |||
111 | 109 | ||
112 | ifeq ($(SIMVER), win32) | 110 | ifeq ($(SIMVER), win32) |
113 | # OK, this is ugly but we need it on the link line to make it do right | 111 | # OK, this is ugly but we need it on the link line to make it do right |
114 | EXTRAOBJ = $(OBJDIR)/uisw32-res.o | 112 | EXTRAOBJ = $(BUILDDIR)/sim/uisw32-res.o |
115 | endif | 113 | endif |
116 | 114 | ||
117 | 115 | ||
118 | $(OBJDIR)/$(BINARY) : $(OBJS) $(OBJDIR)/librockbox.a $(DEPFILE) $(OBJDIR)/libsim.a $(OBJDIR)/libcomsim.a | 116 | $(BUILDDIR)/$(BINARY) : $(OBJS) $(DEPFILE) $(BUILDDIR)/libsim.a \ |
117 | $(BUILDDIR)/libcomsim.a | ||
119 | @echo "LD $(BINARY)" | 118 | @echo "LD $(BINARY)" |
120 | $(CC) $(GCCOPTS) -o $@ $(OBJS) -L$(OBJDIR) -lrockbox -lsim -lcomsim $(LDOPTS) $(EXTRAOBJ) -Wl,-Map,$(OBJDIR)/rockbox.map | 119 | @$(CC) $(GCCOPTS) -o $@ $(OBJS) -L$(BUILDDIR) -lrockbox -lsim -lcomsim $(LDOPTS) $(EXTRAOBJ) -Wl,-Map,$(OBJDIR)/rockbox.map |
121 | 120 | ||
122 | $(OBJDIR)/libsim.a: | 121 | $(BUILDDIR)/libsim.a: |
123 | @$(MAKE) -C $(SIMDIR) | 122 | @$(MAKE) -C $(SIMDIR) OBJDIR=$(BUILDDIR)/sim |
124 | 123 | ||
125 | $(OBJDIR)/libcomsim.a: | 124 | $(BUILDDIR)/libcomsim.a: |
126 | @$(MAKE) -C $(ROOTDIR)/uisimulator/common | 125 | @$(MAKE) -C $(ROOTDIR)/uisimulator/common OBJDIR=$(BUILDDIR)/comsim |
127 | endif | 126 | endif |
128 | 127 | ||
129 | $(OBJDIR)/rockbox.ucl: $(OBJDIR)/rockbox.bin | 128 | $(BUILDDIR)/rockbox.ucl: $(OBJDIR)/rockbox.bin |
130 | @a=`uclpack -h 2>/dev/null`; \ | 129 | @a=`uclpack -h 2>/dev/null`; \ |
131 | if test -n "$$a"; then \ | 130 | if test -n "$$a"; then \ |
132 | echo "UCLPACK rockbox" ; \ | 131 | echo "UCLPACK rockbox" ; \ |
@@ -136,7 +135,7 @@ $(OBJDIR)/rockbox.ucl: $(OBJDIR)/rockbox.bin | |||
136 | echo "fake" > $@; \ | 135 | echo "fake" > $@; \ |
137 | fi | 136 | fi |
138 | 137 | ||
139 | $(OBJDIR)/rombox.ucl: $(OBJDIR)/rombox.bin $(MAXOUTFILE) | 138 | $(BUILDDIR)/rombox.ucl: $(OBJDIR)/rombox.bin $(MAXOUTFILE) |
140 | @a=`uclpack -h 2>/dev/null`; \ | 139 | @a=`uclpack -h 2>/dev/null`; \ |
141 | if test -n "$$a"; then \ | 140 | if test -n "$$a"; then \ |
142 | echo "UCLPACK rombox" ; \ | 141 | echo "UCLPACK rombox" ; \ |
@@ -157,7 +156,8 @@ $(OBJDIR)/rombox.ucl: $(OBJDIR)/rombox.bin $(MAXOUTFILE) | |||
157 | fi | 156 | fi |
158 | 157 | ||
159 | $(OBJDIR)/credits.raw: $(DOCSDIR)/CREDITS | 158 | $(OBJDIR)/credits.raw: $(DOCSDIR)/CREDITS |
160 | perl credits.pl < $< > $@ | 159 | @echo "create credits.raw" |
160 | @perl credits.pl < $< > $@ | ||
161 | 161 | ||
162 | $(OBJDIR)/credits.o: credits.c credits.h $(OBJDIR)/credits.raw | 162 | $(OBJDIR)/credits.o: credits.c credits.h $(OBJDIR)/credits.raw |
163 | @mkdir -p `dirname $@` | 163 | @mkdir -p `dirname $@` |
@@ -168,24 +168,26 @@ include $(TOOLSDIR)/make.inc | |||
168 | 168 | ||
169 | $(OBJDIR)/build.lang: lang/$(LANGUAGE).lang $(TOOLSDIR)/uplang | 169 | $(OBJDIR)/build.lang: lang/$(LANGUAGE).lang $(TOOLSDIR)/uplang |
170 | @echo "UPLANG" | 170 | @echo "UPLANG" |
171 | @mkdir -p `dirname $@` | ||
171 | @perl $(TOOLSDIR)/uplang lang/english.lang $< > $@ | 172 | @perl $(TOOLSDIR)/uplang lang/english.lang $< > $@ |
172 | 173 | ||
173 | $(OBJDIR)/lang.o: $(OBJDIR)/build.lang $(TOOLSDIR)/genlang | 174 | $(OBJDIR)/lang.o: $(OBJDIR)/build.lang $(TOOLSDIR)/genlang |
174 | @echo "GENLANG" | 175 | @echo "GENLANG" |
175 | @perl -s $(TOOLSDIR)/genlang -p=$(OBJDIR)/lang $< | 176 | @mkdir -p `dirname $@` |
177 | @perl -s $(TOOLSDIR)/genlang -p=$(BUILDDIR)/lang $< | ||
176 | @echo "CC lang.c" | 178 | @echo "CC lang.c" |
177 | @$(CC) $(CFLAGS) -c $(OBJDIR)/lang.c -o $@ | 179 | @$(CC) $(CFLAGS) -c $(BUILDDIR)/lang.c -o $@ |
178 | 180 | ||
179 | clean: | 181 | clean: |
180 | @echo "cleaning apps" | 182 | @echo "cleaning apps" |
181 | @-rm -f $(OBJS) $(OBJDIR)/$(BINARY) $(OBJDIR)/rockbox.asm \ | 183 | @-rm -f $(OBJS) $(BUILDDIR)/$(BINARY) $(OBJDIR)/rockbox.asm \ |
182 | $(OBJDIR)/rockbox.bin $(OBJDIR)/rockbox.elf $(OBJDIR)/*.map \ | 184 | $(OBJDIR)/rockbox.bin $(OBJDIR)/rockbox.elf $(OBJDIR)/*.map \ |
183 | $(OBJDIR)/lang.o $(OBJDIR)/build.lang $(OBJDIR)/lang.[ch] \ | 185 | $(OBJDIR)/lang.o $(OBJDIR)/build.lang $(BUILDDIR)/lang.[ch] \ |
184 | $(OBJDIR)/credits.raw $(LINKFILE) $(OBJDIR)/rockbox.ucl \ | 186 | $(OBJDIR)/credits.raw $(LINKFILE) $(BUILDDIR)/rockbox.ucl $(LINKROM) \ |
185 | $(LINKROM) $(OBJDIR)/rombox.ucl $(OBJDIR)/rombox.bin \ | 187 | $(BUILDDIR)/rombox.ucl $(OBJDIR)/rombox.bin $(OBJDIR)/rombox.elf \ |
186 | $(OBJDIR)/rombox.elf $(MAXOUTFILE) $(DEPFILE) | 188 | $(MAXOUTFILE) $(DEPFILE) |
187 | @$(MAKE) -C plugins clean | 189 | @$(MAKE) -C plugins clean OBJDIR=$(OBJDIR)/plugins |
188 | @$(MAKE) -C codecs clean | 190 | @$(MAKE) -C codecs clean OBJDIR=$(OBJDIR)/codecs |
189 | @rm -rf $(OBJDIR)/recorder $(OBJDIR)/player | 191 | @rm -rf $(OBJDIR)/recorder $(OBJDIR)/player |
190 | ifdef SIMVER | 192 | ifdef SIMVER |
191 | @$(MAKE) -C $(SIMDIR) clean | 193 | @$(MAKE) -C $(SIMDIR) clean |