summaryrefslogtreecommitdiff
path: root/apps/Makefile
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-02-18 13:47:17 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-02-18 13:47:17 +0000
commitcdde25b597eb4047e9db27bb8bbcf938e4a43cfe (patch)
treed25f47817cc8515228c8ea0eb33ab71bfc2159d4 /apps/Makefile
parentf436476f9f0eeae4640197866ea5b5fa068df7e9 (diff)
downloadrockbox-cdde25b597eb4047e9db27bb8bbcf938e4a43cfe.zip
rockbox-cdde25b597eb4047e9db27bb8bbcf938e4a43cfe.tar.gz
rockbox-cdde25b597eb4047e9db27bb8bbcf938e4a43cfe.tar.bz2
rockbox-cdde25b597eb4047e9db27bb8bbcf938e4a43cfe.tar.xz
Unified build system to use SOURCES for sim builds too, a single Makefile-look
made by configure and various related adjustments. This has not yet been tested on cygwin. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6001 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/Makefile')
-rw-r--r--apps/Makefile31
1 files changed, 22 insertions, 9 deletions
diff --git a/apps/Makefile b/apps/Makefile
index 75b9fba..bcdc1ef 100644
--- a/apps/Makefile
+++ b/apps/Makefile
@@ -13,11 +13,6 @@ DEPFILE = $(OBJDIR)/dep-apps
LDS := $(FIRMDIR)/app.lds
ROMLDS := $(FIRMDIR)/rom.lds
-ifdef DEBUG
- DEFINES := -DDEBUG
- CFLAGS += -g
-endif
-
ifdef ENABLEDPLUGINS
ROCKS=rocks
endif
@@ -26,7 +21,8 @@ ifdef SOFTWARECODECS
CODECS=build-codecs
endif
-SRC := $(shell cat SOURCES | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P -include "config.h" - )
+SRC := $(shell cat SOURCES | gcc -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) \
+$(TARGET) $(DEFINES) $(EXTRA_DEFINES) -E -P -include "config.h" - )
DIRS = .
ifdef APPEXTRA
@@ -44,9 +40,11 @@ LINKROM = $(OBJDIR)/linkrom.lds
MAXINFILE = $(OBJDIR)/romstart.temp
MAXOUTFILE = $(OBJDIR)/romstart
-ifdef DEBUG
-all: $(OBJDIR)/rockbox.elf $(CODECS) $(ROCKS)
+ifdef SIMVER
+# this is a sim build
+all: $(OBJDIR)/$(BINARY) $(CODECS) $(ROCKS)
else
+# regular target build
all: $(OBJDIR)/$(BINARY) $(FLASHFILE) $(CODECS) $(ROCKS) $(ARCHOSROM)
endif
@@ -80,9 +78,11 @@ $(OBJDIR)/rombox.elf : $(OBJS) $(LINKROM) $(OBJDIR)/librockbox.a $(DEPFILE)
@echo "LD rombox.elf"
@$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(OBJDIR) -lrockbox -lgcc -L$(FIRMDIR) -T$(LINKROM) -Wl,-Map,$(OBJDIR)/rombox.map
+ifndef SIMVER
+
$(OBJDIR)/rockbox.elf : $(OBJS) $(LINKFILE) $(OBJDIR)/librockbox.a $(DEPFILE)
@echo "LD rockbox.elf"
- $(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(OBJDIR) -lrockbox -lgcc -L$(FIRMDIR) -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/rockbox.map
+ $(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(OBJDIR) -lrockbox -lgcc -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/rockbox.map
$(OBJDIR)/rockbox.bin : $(OBJDIR)/rockbox.elf
@echo "OBJCOPY $<"
@@ -99,6 +99,16 @@ $(OBJDIR)/$(BINARY) : $(OBJDIR)/rockbox.bin
@echo "Build firmware file"
@$(MKFIRMWARE) $< $@
+else
+# this is a simulator build
+$(OBJDIR)/$(BINARY) : $(OBJS) $(OBJDIR)/librockbox.a $(DEPFILE) $(OBJDIR)/libsim.a
+ @echo "LD $(BINARY)"
+ $(CC) $(GCCOPTS) -o $@ $(OBJS) $(LDOPTS) -L$(OBJDIR) -lrockbox -lsim -Wl,-Map,$(OBJDIR)/rockbox.map
+
+$(OBJDIR)/libsim.a:
+ @$(MAKE) -C $(SIMDIR)
+endif
+
$(OBJDIR)/rockbox.ucl: $(OBJDIR)/rockbox.bin
@a=`uclpack -h 2>/dev/null`; \
if test -n "$$a"; then \
@@ -160,5 +170,8 @@ clean:
@$(MAKE) -C plugins clean
@$(MAKE) -C codecs clean
@rm -rf $(OBJDIR)/recorder $(OBJDIR)/player
+ifdef SIMVER
+ @$(MAKE) -C $(SIMDIR) clean
+endif
-include $(DEPFILE)