1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
Björn Stenberg 2008-11-20 11:27:31 +00:00
parent f66c303467
commit c6b3d38a15
221 changed files with 2081 additions and 3657 deletions

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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

39
firmware/firmware.make Normal file
View file

@ -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 $@