summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2008-11-20 11:27:31 +0000
committerBjörn Stenberg <bjorn@haxx.se>2008-11-20 11:27:31 +0000
commitc6b3d38a156dd624760a8eb1bb374affd43b4f2a (patch)
tree493eba929e2396d86cf4f077709aa09fe172cd35 /firmware
parentf66c30346783a400a029bedcd60ab67c81c34a07 (diff)
downloadrockbox-c6b3d38a156dd624760a8eb1bb374affd43b4f2a.tar.gz
rockbox-c6b3d38a156dd624760a8eb1bb374affd43b4f2a.tar.bz2
rockbox-c6b3d38a156dd624760a8eb1bb374affd43b4f2a.zip
New makefile solution: A single invocation of 'make' to build the entire tree. Fully controlled dependencies give faster and more correct recompiles.
Many #include lines adjusted to conform to the new standards. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/Makefile57
-rw-r--r--firmware/decompressor/Makefile1
-rw-r--r--firmware/export/config-mrobe500.h3
-rw-r--r--firmware/export/debug.h3
-rw-r--r--firmware/firmware.make39
5 files changed, 43 insertions, 60 deletions
diff --git a/firmware/Makefile b/firmware/Makefile
deleted file mode 100644
index 0b80cf22e3..0000000000
--- a/firmware/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-# __________ __ ___.
-# Open \______ \ ____ ____ | | _\_ |__ _______ ___
-# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
-# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
-# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
-# \/ \/ \/ \/ \/
-# $Id$
-#
-
-INCLUDES=$(TARGET_INC) -Iinclude -I$(FIRMDIR) -Iexport -Icommon -Idrivers -I$(BUILDDIR)
-
-CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET) $(BUILDDATE) $(EXTRA_DEFINES) \
- -DMEM=${MEMORYSIZE}
-
-# Limits for the built-in sysfont: ASCII for bootloaders, ISO8859-1 for normal builds
-ifneq (,$(findstring -DBOOTLOADER,$(EXTRA_DEFINES)))
- MAXCHAR = 127
-else
- MAXCHAR = 255
-endif
-
-# This sets up 'SRC' based on the files mentioned in SOURCES
-include $(TOOLSDIR)/makesrc.inc
-
-SOURCES = $(SRC)
-OBJS2 := $(patsubst %.c, $(OBJDIR)/%.o, $(SRC)) $(OBJDIR)/sysfont.o
-OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
-DIRS:=. drivers common
-OUTPUT = $(BUILDDIR)/librockbox.a
-DEPFILE = $(OBJDIR)/dep-firmware
-
-all: $(OUTPUT) $(EXTRA_TARGETS)
-
-dep: $(DEPFILE)
-
-$(OUTPUT): $(BUILDDIR)/sysfont.h $(OBJS) $(DEPFILE)
- $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $(OBJS) >/dev/null 2>&1
- $(SILENT)$(RANLIB) $@
-
-include $(TOOLSDIR)/make.inc
-
-clean:
- $(call PRINTS,cleaning firmware)rm -f $(OBJS) $(OUTPUT) $(OBJDIR)/sysfont.c $(DEPFILE)
- $(SILENT)rm -rf $(OBJDIR)/drivers $(OBJDIR)/common
-
-# Special targets
-$(OBJDIR)/thread.o: thread.c export/thread.h
- $(call PRINTS,CC thread.c)$(CC) -c -O -fomit-frame-pointer $(CFLAGS) $< -o $@
-
-$(BUILDDIR)/sysfont.h: ../fonts/08-Schumacher-Clean.bdf
- $(call PRINTS,Create sysfont.h)$(TOOLSDIR)/convbdf -l $(MAXCHAR) -h -o $@ $<
-
-$(OBJDIR)/sysfont.o: ../fonts/08-Schumacher-Clean.bdf
- $(call PRINTS,CONVBDF)$(TOOLSDIR)/convbdf -l $(MAXCHAR) -c -o $(OBJDIR)/sysfont.c $<
- $(call PRINTS,CC sysfont.c)$(CC) $(CFLAGS) -c $(OBJDIR)/sysfont.c -o $@
-
--include $(DEPFILE)
diff --git a/firmware/decompressor/Makefile b/firmware/decompressor/Makefile
index 33b6affc6d..30bb04e480 100644
--- a/firmware/decompressor/Makefile
+++ b/firmware/decompressor/Makefile
@@ -27,6 +27,7 @@ $(OBJDIR)/compressed.elf : $(OBJS) $(LINKFILE)
$(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/compressed.map
$(LINKFILE): $(LDS)
+ $(SILENT)mkdir -p $(dir $@)
$(call PRINTS,Build LDS file)cat $< | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P $(ROMBUILD) - >$@
$(OBJDIR)/decompressor.o : decompressor.c $(OBJDIR)/uclimage.c
diff --git a/firmware/export/config-mrobe500.h b/firmware/export/config-mrobe500.h
index 572d018328..5f89a9667d 100644
--- a/firmware/export/config-mrobe500.h
+++ b/firmware/export/config-mrobe500.h
@@ -147,8 +147,7 @@
/* Define this if you have a Motorola SCF5249 */
#define CONFIG_CPU DM320
-/* Define this if you want to use coldfire's i2c interface */
-//#define CONFIG_I2C I2C_S3C2440
+#define CONFIG_I2C I2C_DM320
/* define this if the hardware can be powered off while charging */
#define HAVE_POWEROFF_WHILE_CHARGING
diff --git a/firmware/export/debug.h b/firmware/export/debug.h
index dd65c3d7be..f9f93fdcd9 100644
--- a/firmware/export/debug.h
+++ b/firmware/export/debug.h
@@ -28,6 +28,7 @@ extern void debugf(const char* fmt,...) ATTRIBUTE_PRINTF(1, 2);
extern void ldebugf(const char* file, int line, const char *fmt, ...)
ATTRIBUTE_PRINTF(3, 4);
+#ifndef CODEC
#ifdef __GNUC__
/* */
@@ -57,5 +58,5 @@ void breakpoint(void);
#endif /* GCC */
-
+#endif /* CODEC */
#endif
diff --git a/firmware/firmware.make b/firmware/firmware.make
new file mode 100644
index 0000000000..992df26141
--- /dev/null
+++ b/firmware/firmware.make
@@ -0,0 +1,39 @@
+# __________ __ ___.
+# Open \______ \ ____ ____ | | _\_ |__ _______ ___
+# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+# \/ \/ \/ \/ \/
+# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
+#
+
+INCLUDES += -I$(FIRMDIR) -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers
+
+FIRMLIB_SRC += $(call preprocess, $(FIRMDIR)/SOURCES)
+FIRMLIB_SRC += $(ROOTDIR)/sysfont.o
+FIRMLIB_OBJ := $(call c2obj, $(FIRMLIB_SRC))
+OTHER_SRC += $(FIRMLIB_SRC)
+
+FIRMLIB = $(BUILDDIR)/firmware/libfirmware.a
+
+SYSFONT = $(ROOTDIR)/fonts/08-Schumacher-Clean.bdf
+
+CLEANOBJS += $(BUILDDIR)/sysfont.*
+
+# Limits for the built-in sysfont: ASCII for bootloaders, ISO8859-1 for normal builds
+ifneq (,$(findstring -DBOOTLOADER,$(EXTRA_DEFINES)))
+ MAXCHAR = 127
+else
+ MAXCHAR = 255
+endif
+
+$(FIRMLIB): $(FIRMLIB_OBJ)
+ $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
+
+$(BUILDDIR)/sysfont.h: $(SYSFONT) $(TOOLS)
+ $(call PRINTS,CONVBDF $(subst $(ROOTDIR)/,,$<))$(TOOLSDIR)/convbdf -l $(MAXCHAR) -h -o $@ $<
+
+$(BUILDDIR)/sysfont.o: $(SYSFONT) $(BUILDDIR)/sysfont.h
+ $(call PRINTS,CONVBDF $(subst $(ROOTDIR)/,,$<))$(TOOLSDIR)/convbdf -l $(MAXCHAR) -c -o $(BUILDDIR)/sysfont.c $<
+ $(call PRINTS,CC $(subst $(ROOTDIR)/,,$(BUILDDIR)/sysfont.c))$(CC) $(CFLAGS) -c $(BUILDDIR)/sysfont.c -o $@
+