Makefile overhaul. All generated bitmaps are now explicitly in OBJDIR/bitmaps and OBJDIR/pluginbitmaps, and plugins properly depend on their respective bitmap files. Fixes #6847.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18987 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Björn Stenberg 2008-11-03 14:37:50 +00:00
parent d34837cba1
commit ac488f8cb7
19 changed files with 125 additions and 110 deletions

View file

@ -7,8 +7,8 @@
# $Id$ # $Id$
# #
INCLUDES= $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I. -I$(BUILDDIR) \ INCLUDES= $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I. \
-I$(BUILDDIR)/bitmaps -I$(OBJDIR) -I$(BUILDDIR) -I$(BUILDDIR)/bitmaps -I$(OBJDIR)
DEPFILE = $(OBJDIR)/dep-apps DEPFILE = $(OBJDIR)/dep-apps
@ -25,7 +25,6 @@ CODECS=build-codecs
# This sets up the parameters for building and linking libspeex for core voice # This sets up the parameters for building and linking libspeex for core voice
VOICE=libspeex-rockbox VOICE=libspeex-rockbox
VOICELIB=$(BUILDDIR)/libspeex-rockbox.a
LINKVOICE= -lspeex-rockbox LINKVOICE= -lspeex-rockbox
endif endif
@ -34,19 +33,19 @@ endif
BITMAPLIBS = BITMAPLIBS =
LINKBITMAPS = LINKBITMAPS =
ifneq ($(strip $(BMP2RB_MONO)),) ifneq ($(strip $(BMP2RB_MONO)),)
BITMAPLIBS += $(BUILDDIR)/libbitmapsmono.a BITMAPLIBS += bitmapsmono
LINKBITMAPS += -lbitmapsmono LINKBITMAPS += -lbitmapsmono
endif endif
ifneq ($(strip $(BMP2RB_NATIVE)),) ifneq ($(strip $(BMP2RB_NATIVE)),)
BITMAPLIBS += $(BUILDDIR)/libbitmapsnative.a BITMAPLIBS += bitmapsnative
LINKBITMAPS += -lbitmapsnative LINKBITMAPS += -lbitmapsnative
endif endif
ifneq ($(strip $(BMP2RB_REMOTEMONO)),) ifneq ($(strip $(BMP2RB_REMOTEMONO)),)
BITMAPLIBS += $(BUILDDIR)/libbitmapsremotemono.a BITMAPLIBS += bitmapsremotemono
LINKBITMAPS += -lbitmapsremotemono LINKBITMAPS += -lbitmapsremotemono
endif endif
ifneq ($(strip $(BMP2RB_REMOTENATIVE)),) ifneq ($(strip $(BMP2RB_REMOTENATIVE)),)
BITMAPLIBS += $(BUILDDIR)/libbitmapsremotenative.a BITMAPLIBS += bitmapsremotenative
LINKBITMAPS += -lbitmapsremotenative LINKBITMAPS += -lbitmapsremotenative
endif endif
@ -62,7 +61,8 @@ ifdef APPEXTRA
INCLUDES += $(patsubst %,-I%,$(subst :, ,$(APPEXTRA))) INCLUDES += $(patsubst %,-I%,$(subst :, ,$(APPEXTRA)))
endif endif
CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET) $(BUILDDATE) $(DEFINES) -DTARGET_ID=$(TARGET_ID) \ CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET) $(BUILDDATE) $(DEFINES) \
-DTARGET_ID=$(TARGET_ID) \
-DAPPSVERSION=\"$(VERSION)\" $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} \ -DAPPSVERSION=\"$(VERSION)\" $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} \
-DTARGET_NAME=\"$(MODELNAME)\" -DTARGET_NAME=\"$(MODELNAME)\"
@ -79,7 +79,7 @@ LIBROCKBOX = $(BUILDDIR)/librockbox.a
ifdef SIMVER ifdef SIMVER
# this is a sim build # this is a sim build
all: $(BUILDDIR)/$(BINARY) $(CODECS) $(ROCKS) all: simbuild
else else
# regular target build # regular target build
@ -91,39 +91,44 @@ else
REALBIN = $(BUILDDIR)/$(BINARY) REALBIN = $(BUILDDIR)/$(BINARY)
endif endif
all: $(REALBIN) $(FLASHFILE) $(CODECS) $(ROCKS) $(ARCHOSROM) all: build
endif endif
dep: $(DEPFILE) build: $(DEPFILE) $(BITMAPLIBS) build-codecs build-pluginlib
$(call PRINTS,MAKE in plugins)$(MAKE) -C plugins OBJDIR=$(OBJDIR)/plugins
$(call PRINTS,MAKE in apps)$(MAKE) $(REALBIN) $(FLASHFILE) $(ARCHOSROM)
features: $(OBJDIR)/features simbuild: $(DEPFILE) $(BITMAPLIBS) build-codecs build-pluginlib
$(call PRINTS,MAKE in plugins)$(MAKE) -C plugins OBJDIR=$(OBJDIR)/plugins
libspeex-rockbox: $(call PRINTS,MAKE in apps)$(MAKE) $(BUILDDIR)/$(BINARY)
$(SILENT)mkdir -p $(OBJDIR)/libspeex-rockbox
$(call PRINTS,MAKE in libspeex for rockbox core)$(MAKE) -C $(APPSDIR)/codecs/libspeex ROCKBOX_VOICE_CODEC=1 OBJDIR=$(OBJDIR)/libspeex-rockbox OUTPUT=$(BUILDDIR)/libspeex-rockbox.a
build-codecs: build-codecs:
$(SILENT)$(MAKE) -C codecs/lib OBJDIR=$(OBJDIR)/codecs/lib $(SILENT)$(MAKE) -C codecs/lib OBJDIR=$(OBJDIR)/codecs/lib
$(SILENT)$(MAKE) -C codecs OBJDIR=$(OBJDIR)/codecs $(SILENT)$(MAKE) -C codecs OBJDIR=$(OBJDIR)/codecs
recorder/icons.h: $(BITMAPLIBS) build-pluginlib:
$(SILENT)$(MAKE) -C plugins/lib OBJDIR=$(OBJDIR)/plugins/lib
$(BUILDDIR)/libbitmapsmono.a: bitmapsmono:
$(call PRINTS,MAKE in bitmaps/mono)$(MAKE) -C bitmaps/mono OBJDIR=$(OBJDIR)/bitmaps/mono $(call PRINTS,MAKE in bitmaps/mono)$(MAKE) -C bitmaps/mono OBJDIR=$(OBJDIR)/bitmaps/mono
$(BUILDDIR)/libbitmapsnative.a: bitmapsnative:
$(call PRINTS,MAKE in bitmaps/native)$(MAKE) -C bitmaps/native OBJDIR=$(OBJDIR)/bitmaps/native $(call PRINTS,MAKE in bitmaps/native)$(MAKE) -C bitmaps/native OBJDIR=$(OBJDIR)/bitmaps/native
$(BUILDDIR)/libbitmapsremotemono.a: bitmapsremotemono:
$(call PRINTS,MAKE in bitmaps/remote_mono)$(MAKE) -C bitmaps/remote_mono OBJDIR=$(OBJDIR)/bitmaps/remote_mono $(call PRINTS,MAKE in bitmaps/remote_mono)$(MAKE) -C bitmaps/remote_mono OBJDIR=$(OBJDIR)/bitmaps/remote_mono
$(BUILDDIR)/libbitmapsremotenative.a: bitmapsremotenative:
$(call PRINTS,MAKE in bitmaps/remote_native)$(MAKE) -C bitmaps/remote_native OBJDIR=$(OBJDIR)/bitmaps/remote_native $(call PRINTS,MAKE in bitmaps/remote_native)$(MAKE) -C bitmaps/remote_native OBJDIR=$(OBJDIR)/bitmaps/remote_native
rocks: build-codecs rocks: build-codecs build-pluginlib
$(SILENT)$(MAKE) -C plugins/lib OBJDIR=$(OBJDIR)/plugins/lib
$(SILENT)$(MAKE) -C plugins OBJDIR=$(OBJDIR)/plugins $(SILENT)$(MAKE) -C plugins OBJDIR=$(OBJDIR)/plugins
libspeex-rockbox:
$(SILENT)mkdir -p $(OBJDIR)/libspeex-rockbox
$(call PRINTS,MAKE in libspeex for rockbox core)$(MAKE) -C $(APPSDIR)/codecs/libspeex ROCKBOX_VOICE_CODEC=1 OBJDIR=$(OBJDIR)/libspeex-rockbox OUTPUT=$(BUILDDIR)/libspeex-rockbox.a
$(LINKFILE): $(LDS) $(LINKFILE): $(LDS)
$(call PRINTS,Build $(@F))cat $< | $(CC) -DLOADADDRESS=$(LOADADDRESS) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P $(ROMBUILD) - >$@ $(call PRINTS,Build $(@F))cat $< | $(CC) -DLOADADDRESS=$(LOADADDRESS) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P $(ROMBUILD) - >$@
@ -136,12 +141,12 @@ $(MAXOUTFILE):
$(SILENT)cat $(MAXINFILE) | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P $(ROMBUILD) - > $(MAXOUTFILE) $(SILENT)cat $(MAXINFILE) | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P $(ROMBUILD) - > $(MAXOUTFILE)
$(SILENT)rm $(MAXINFILE) $(SILENT)rm $(MAXINFILE)
$(OBJDIR)/rombox.elf : $(BITMAPLIBS) $(OBJS) $(LINKROM) $(DEPFILE) $(LIBROCKBOX) $(VOICE) $(OBJDIR)/rombox.elf : $(OBJS) $(LINKROM) $(LIBROCKBOX) $(VOICE)
$(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(BUILDDIR) -lrockbox -lgcc $(LINKVOICE) $(LINKBITMAPS) -L$(BUILDDIR)/firmware -T$(LINKROM) -Wl,-Map,$(OBJDIR)/rombox.map $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(BUILDDIR) -lrockbox -lgcc $(LINKVOICE) $(LINKBITMAPS) -L$(BUILDDIR)/firmware -T$(LINKROM) -Wl,-Map,$(OBJDIR)/rombox.map
ifndef SIMVER ifndef SIMVER
$(OBJDIR)/rockbox.elf : $(BITMAPLIBS) $(OBJS) $(LINKFILE) $(DEPFILE) $(LIBROCKBOX) $(VOICE) $(OBJDIR)/rockbox.elf : $(OBJS) $(LINKFILE) $(LIBROCKBOX) $(VOICE)
$(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(BUILDDIR)/firmware -L$(BUILDDIR) -lrockbox $(LINKVOICE) $(LINKBITMAPS) -lgcc -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/rockbox.map $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJS) -L$(BUILDDIR)/firmware -L$(BUILDDIR) -lrockbox $(LINKVOICE) $(LINKBITMAPS) -lgcc -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/rockbox.map
$(OBJDIR)/rockbox.bin : $(OBJDIR)/rockbox.elf $(OBJDIR)/rockbox.bin : $(OBJDIR)/rockbox.elf
@ -186,7 +191,7 @@ else
#SIMULATOR_MAP=-Wl,-Map,$(OBJDIR)/rockbox.map #SIMULATOR_MAP=-Wl,-Map,$(OBJDIR)/rockbox.map
endif endif
$(BUILDDIR)/$(BINARY) : $(BITMAPLIBS) $(OBJS) $(DEPFILE) $(BUILDDIR)/libsim.a \ $(BUILDDIR)/$(BINARY) : $(OBJS) $(BUILDDIR)/libsim.a \
$(BUILDDIR)/libcomsim.a $(LIBROCKBOX) $(VOICE) $(BUILDDIR)/libcomsim.a $(LIBROCKBOX) $(VOICE)
$(call PRINTS,LD $(BINARY))$(CC) $(GCCOPTS) -o $@ $(OBJS) -L$(BUILDDIR) -lrockbox -lsim -lcomsim $(LINKVOICE) $(LINKBITMAPS) $(LDOPTS) $(EXTRAOBJ) $(SIMULATOR_MAP) $(call PRINTS,LD $(BINARY))$(CC) $(GCCOPTS) -o $@ $(OBJS) -L$(BUILDDIR) -lrockbox -lsim -lcomsim $(LINKVOICE) $(LINKBITMAPS) $(LDOPTS) $(EXTRAOBJ) $(SIMULATOR_MAP)
endif endif
@ -196,15 +201,16 @@ $(BUILDDIR)/rockbox.ucl: $(OBJDIR)/rockbox.bin
$(BUILDDIR)/rombox.ucl: $(OBJDIR)/rombox.bin $(MAXOUTFILE) $(BUILDDIR)/rombox.ucl: $(OBJDIR)/rombox.bin $(MAXOUTFILE)
$(call PRINTS,UCLPACK rombox)$(TOOLSDIR)/uclpack --none $< $@ >/dev/null 2>&1; \ $(call PRINTS,UCLPACK rombox)$(TOOLSDIR)/uclpack --none $< $@ >/dev/null 2>&1; \
perl $(TOOLSDIR)/romsizetest.pl `cat $(MAXOUTFILE)` $<; \ perl $(TOOLSDIR)/romsizetest.pl `cat $(MAXOUTFILE)` $<; \
if test $$? -ne 0; then \ if test $$? -ne 0; then \
echo "removing UCL file again, making it a fake one"; \ echo "removing UCL file again, making it a fake one"; \
echo "fake" > $@; \ echo "fake" > $@; \
fi fi
$(BUILDDIR)/rombox.iriver: $(OBJDIR)/rombox.bin $(BUILDDIR)/rombox.iriver: $(OBJDIR)/rombox.bin
$(call PRINTS,Build ROM file)$(MKFIRMWARE) $< $@ $(call PRINTS,Build ROM file)$(MKFIRMWARE) $< $@
# make.inc contains the $(DEPFILE) generation
include $(TOOLSDIR)/make.inc include $(TOOLSDIR)/make.inc
# apps/features.txt is a file that (is preprocessed and) lists named features # apps/features.txt is a file that (is preprocessed and) lists named features
@ -213,26 +219,28 @@ include $(TOOLSDIR)/make.inc
# button.h is included for the HAS_BUTTON_HOLD define. # button.h is included for the HAS_BUTTON_HOLD define.
# #
features: $(OBJDIR)/features
$(OBJDIR)/features: features.txt $(OBJDIR)/features: features.txt
$(SILENT)mkdir -p `dirname $@` $(SILENT)mkdir -p $(OBJDIR)
$(SILENT)cat $< | $(HOSTCC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) \ $(SILENT)cat $< | $(HOSTCC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) \
$(TARGET) $(DEFINES) $(EXTRA_DEFINES) -E -P -imacros "config.h" -imacros "button.h" - | \ $(TARGET) $(DEFINES) $(EXTRA_DEFINES) -E -P -imacros "config.h" -imacros "button.h" - | \
grep -v "^\#" | grep -v "^$$" > $@; \ grep -v "^\#" | grep -v "^$$" > $@; \
for f in `cat $(OBJDIR)/features`; do feat="$$feat:$$f" ; done ; \ for f in `cat $(OBJDIR)/features`; do feat="$$feat:$$f" ; done ; \
echo "$$feat" >$(OBJDIR)/genlang-features echo "$$feat" >$(OBJDIR)/genlang-features
$(OBJDIR)/lang.o: lang/$(LANGUAGE).lang $(OBJDIR)/features $(OBJDIR)/lang.o: lang/$(LANGUAGE).lang $(OBJDIR)/features
$(SILENT)for f in `cat $(OBJDIR)/features`; do feat="$$feat:$$f" ; done; \ $(SILENT)for f in `cat $(OBJDIR)/features`; do feat="$$feat:$$f" ; done; \
perl -s $(TOOLSDIR)/genlang -p=$(BUILDDIR)/lang -t=$(MODELNAME)$$feat $< perl -s $(TOOLSDIR)/genlang -p=$(BUILDDIR)/lang -t=$(MODELNAME)$$feat $<
$(call PRINTS,CC lang.c)$(CC) $(CFLAGS) -c $(BUILDDIR)/lang.c -o $@ $(call PRINTS,CC lang.c)$(CC) $(CFLAGS) -c $(BUILDDIR)/lang.c -o $@
clean: clean:
$(call PRINTS,cleaning apps)-rm -f $(OBJS) $(BUILDDIR)/$(BINARY) $(OBJDIR)/rockbox.asm \ $(call PRINTS,cleaning apps)-rm -f $(OBJS) $(BUILDDIR)/$(BINARY) $(OBJDIR)/rockbox.asm \
$(OBJDIR)/rockbox.bin $(OBJDIR)/rockbox.elf $(OBJDIR)/*.map \ $(OBJDIR)/rockbox.bin $(OBJDIR)/rockbox.elf $(OBJDIR)/*.map \
$(OBJDIR)/lang.o $(OBJDIR)/build.lang $(BUILDDIR)/lang.[ch] \ $(OBJDIR)/lang.o $(OBJDIR)/build.lang $(BUILDDIR)/lang.[ch] \
$(LINKFILE) $(BUILDDIR)/rockbox.ucl $(LINKROM) \ $(LINKFILE) $(BUILDDIR)/rockbox.ucl $(LINKROM) \
$(BUILDDIR)/rombox.ucl $(OBJDIR)/rombox.bin $(OBJDIR)/rombox.elf \ $(BUILDDIR)/rombox.ucl $(OBJDIR)/rombox.bin $(OBJDIR)/rombox.elf \
$(MAXOUTFILE) $(DEPFILE) $(MAXOUTFILE) $(DEPFILE)
$(SILENT)$(MAKE) -C bitmaps/mono clean OBJDIR=$(OBJDIR)/bitmaps/mono $(SILENT)$(MAKE) -C bitmaps/mono clean OBJDIR=$(OBJDIR)/bitmaps/mono
$(SILENT)$(MAKE) -C bitmaps/native clean OBJDIR=$(OBJDIR)/bitmaps/native $(SILENT)$(MAKE) -C bitmaps/native clean OBJDIR=$(OBJDIR)/bitmaps/native
$(SILENT)$(MAKE) -C bitmaps/remote_mono clean OBJDIR=$(OBJDIR)/bitmaps/remote_mono $(SILENT)$(MAKE) -C bitmaps/remote_mono clean OBJDIR=$(OBJDIR)/bitmaps/remote_mono
@ -241,6 +249,7 @@ clean:
$(SILENT)$(MAKE) -C codecs clean OBJDIR=$(OBJDIR)/codecs $(SILENT)$(MAKE) -C codecs clean OBJDIR=$(OBJDIR)/codecs
$(SILENT)rm -rf $(OBJDIR)/recorder $(OBJDIR)/player $(SILENT)rm -rf $(OBJDIR)/recorder $(OBJDIR)/player
$(SILENT)rm -rf $(BUILDDIR)/bitmaps $(SILENT)rm -rf $(BUILDDIR)/bitmaps
$(SILENT)rm -rf $(BUILDDIR)/pluginbitmaps
ifdef SIMVER ifdef SIMVER
$(SILENT)$(MAKE) -C $(SIMDIR) clean $(SILENT)$(MAKE) -C $(SIMDIR) clean
endif endif

View file

@ -30,9 +30,9 @@
#include "bmp.h" #include "bmp.h"
#include "filetypes.h" #include "filetypes.h"
#include <default_icons.h> #include "bitmaps/default_icons.h"
#if defined(HAVE_REMOTE_LCD) && (NB_SCREENS > 1) #if defined(HAVE_REMOTE_LCD) && (NB_SCREENS > 1)
#include <remote_default_icons.h> #include "bitmaps/remote_default_icons.h"
#endif #endif
/* These are just the file names, the full path is snprint'ed when used */ /* These are just the file names, the full path is snprint'ed when used */

View file

@ -8,8 +8,8 @@
# #
INCLUDES = $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I$(FIRMDIR)/common \ INCLUDES = $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I$(FIRMDIR)/common \
-I$(FIRMDIR)/drivers -I$(APPSDIR) -Ilib -I$(BUILDDIR) \ -I$(FIRMDIR)/drivers -I$(APPSDIR) -Ilib -I$(BUILDDIR)
-I$(BUILDDIR)/pluginbitmaps
CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET) $(EXTRA_DEFINES) \ CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET) $(EXTRA_DEFINES) \
-DTARGET_ID=$(TARGET_ID) -DMEM=${MEMORYSIZE} -DPLUGIN -DTARGET_ID=$(TARGET_ID) -DMEM=${MEMORYSIZE} -DPLUGIN
@ -25,19 +25,19 @@ endif
BITMAPLIBS = BITMAPLIBS =
LINKBITMAPS = LINKBITMAPS =
ifneq ($(strip $(BMP2RB_MONO)),) ifneq ($(strip $(BMP2RB_MONO)),)
BITMAPLIBS += $(BUILDDIR)/libpluginbitmapsmono.a BITMAPLIBS += pluginbitmapsmono
LINKBITMAPS += -lpluginbitmapsmono LINKBITMAPS += -lpluginbitmapsmono
endif endif
ifneq ($(strip $(BMP2RB_NATIVE)),) ifneq ($(strip $(BMP2RB_NATIVE)),)
BITMAPLIBS += $(BUILDDIR)/libpluginbitmapsnative.a BITMAPLIBS += pluginbitmapsnative
LINKBITMAPS += -lpluginbitmapsnative LINKBITMAPS += -lpluginbitmapsnative
endif endif
ifneq ($(strip $(BMP2RB_REMOTEMONO)),) ifneq ($(strip $(BMP2RB_REMOTEMONO)),)
BITMAPLIBS += $(BUILDDIR)/libpluginbitmapsremotemono.a BITMAPLIBS += pluginbitmapsremotemono
LINKBITMAPS += -lpluginbitmapsremotemono LINKBITMAPS += -lpluginbitmapsremotemono
endif endif
ifneq ($(strip $(BMP2RB_REMOTENATIVE)),) ifneq ($(strip $(BMP2RB_REMOTENATIVE)),)
BITMAPLIBS += $(BUILDDIR)/libpluginbitmapsremotenative.a BITMAPLIBS += pluginbitmapsremotenative
LINKBITMAPS += -lpluginbitmapsremotenative LINKBITMAPS += -lpluginbitmapsremotenative
endif endif
@ -60,12 +60,18 @@ DEFS := $(SRC:%.c=$(OBJDIR)/%.def)
DIRS = . DIRS = .
.PHONY: $(SUBDIRS) .PHONY: $(SUBDIRS)
all: $(BUILDDIR)/libplugin.a $(ROCKS) $(SUBDIRS) $(DEPFILE) all: build
$(DEPFILE): $(BITMAPLIBS)
dep: $(DEPFILE) dep: $(DEPFILE)
build: $(DEPFILE) $(BITMAPLIBS)
$(call PRINTS,MAKE rocks)$(MAKE) rocks
$(call PRINTS,MAKE subdirs)$(MAKE) subdirs
rocks: $(ROCKS)
subdirs: $(SUBDIRS)
$(BUILDDIR)/credits.raw: $(DOCSDIR)/CREDITS $(BUILDDIR)/credits.raw: $(DOCSDIR)/CREDITS
$(call PRINTS,create credits.raw)perl credits.pl < $< > $@ $(call PRINTS,create credits.raw)perl credits.pl < $< > $@
@ -73,34 +79,32 @@ $(OBJDIR)/credits.o: credits.c $(BUILDDIR)/credits.raw
$(SILENT)mkdir -p $(dir $@) $(SILENT)mkdir -p $(dir $@)
$(call PRINTS,CC $(<F))$(CC) $(CFLAGS) -I$(OBJDIR) -c $< -o $@ $(call PRINTS,CC $(<F))$(CC) $(CFLAGS) -I$(OBJDIR) -c $< -o $@
build-bitmapsmono: pluginbitmapsmono:
$(call PRINTS,MAKE in plugins/bitmaps/mono)$(MAKE) -C bitmaps/mono OBJDIR=$(OBJDIR)/bitmaps/mono $(call PRINTS,MAKE in plugins/bitmaps/mono)$(MAKE) -C bitmaps/mono OBJDIR=$(OBJDIR)/bitmaps/mono
build-bitmapsnative: pluginbitmapsnative:
$(call PRINTS,MAKE in plugins/bitmaps/native)$(MAKE) -C bitmaps/native OBJDIR=$(OBJDIR)/bitmaps/native $(call PRINTS,MAKE in plugins/bitmaps/native)$(MAKE) -C bitmaps/native OBJDIR=$(OBJDIR)/bitmaps/native
build-bitmapsremotemono: pluginbitmapsremotemono:
$(call PRINTS,MAKE in plugins/bitmaps/remote_mono)$(MAKE) -C bitmaps/remote_mono OBJDIR=$(OBJDIR)/bitmaps/remote_mono $(call PRINTS,MAKE in plugins/bitmaps/remote_mono)$(MAKE) -C bitmaps/remote_mono OBJDIR=$(OBJDIR)/bitmaps/remote_mono
build-bitmapsremotenative: pluginbitmapsremotenative:
$(call PRINTS,MAKE in plugins/bitmaps/remote_native)$(MAKE) -C bitmaps/remote_native OBJDIR=$(OBJDIR)/bitmaps/remote_native $(call PRINTS,MAKE in plugins/bitmaps/remote_native)$(MAKE) -C bitmaps/remote_native OBJDIR=$(OBJDIR)/bitmaps/remote_native
$(BITMAPLIBS): $(BUILDDIR)/libplugin%.a: build-%
ifndef SIMVER ifndef SIMVER
$(OBJDIR)/%.elf: $(OBJDIR)/%.o $(LINKFILE) $(BUILDDIR)/libplugin.a $(BITMAPLIBS) $(OBJDIR)/%.rock: $(OBJDIR)/%.o $(LINKFILE)
$(call PRINTS,LD $(@F))$(CC) $(CFLAGS) -o $@ $< -L$(BUILDDIR) $(CODECLIBS) -lplugin $(LINKBITMAPS) -lgcc \ $(SILENT)$(CC) $(CFLAGS) -o $(OBJDIR)/$*.elf $< -L$(BUILDDIR) \
-T$(LINKFILE) -Wl,--gc-sections -Wl,-Map,$(OBJDIR)/$*.map $(CODECLIBS) -lplugin $(LINKBITMAPS) -lgcc \
-T$(LINKFILE) -Wl,--gc-sections -Wl,-Map,$(OBJDIR)/$*.map
$(call PRINTS,LINK $(@F))$(OC) -O binary $(OBJDIR)/$*.elf $(OBJDIR)/$*.rock
$(OBJDIR)/%.rock : $(OBJDIR)/%.elf
$(call PRINTS,OBJCOPY $(@F))$(OC) -O binary $< $@
else else
ifeq ($(SIMVER), x11) ifeq ($(SIMVER), x11)
################################################### ###################################################
# This is the X11 simulator version # This is the X11 simulator version
$(OBJDIR)/%.rock : $(OBJDIR)/%.o $(BUILDDIR)/libplugin.a $(BITMAPLIBS) $(OBJDIR)/%.rock : $(OBJDIR)/%.o
$(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $< -L$(BUILDDIR) $(CODECLIBS) -lplugin $(LINKBITMAPS) -o $@ $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $< -L$(BUILDDIR) $(CODECLIBS) -lplugin $(LINKBITMAPS) -o $@
ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN) ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)
# 'x' must be kept or you'll have "Win32 error 5" # 'x' must be kept or you'll have "Win32 error 5"
@ -115,7 +119,7 @@ ifeq ($(SIMVER), sdl)
################################################### ###################################################
# This is the SDL simulator version # This is the SDL simulator version
$(OBJDIR)/%.rock : $(OBJDIR)/%.o $(BUILDDIR)/libplugin.a $(BITMAPLIBS) $(OBJDIR)/%.rock : $(OBJDIR)/%.o
$(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $< -L$(BUILDDIR) $(CODECLIBS) -lplugin $(LINKBITMAPS) -o $@ $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $< -L$(BUILDDIR) $(CODECLIBS) -lplugin $(LINKBITMAPS) -o $@
ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN) ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)
# 'x' must be kept or you'll have "Win32 error 5" # 'x' must be kept or you'll have "Win32 error 5"
@ -131,7 +135,7 @@ else # end of sdl-simulator
DLLTOOLFLAGS = --export-all DLLTOOLFLAGS = --export-all
DLLWRAPFLAGS = -s --entry _DllMain@12 --target=i386-mingw32 -mno-cygwin DLLWRAPFLAGS = -s --entry _DllMain@12 --target=i386-mingw32 -mno-cygwin
$(OBJDIR)/%.rock : $(OBJDIR)/%.o $(BUILDDIR)/libplugin.a $(BITMAPLIBS) $(OBJDIR)/%.rock : $(OBJDIR)/%.o
$(call PRINTS,DLL $(@F))$(DLLTOOL) $(DLLTOOLFLAGS) -z $(OBJDIR)/$*.def $< $(call PRINTS,DLL $(@F))$(DLLTOOL) $(DLLTOOLFLAGS) -z $(OBJDIR)/$*.def $<
$(SILENT)$(DLLWRAP) $(DLLWRAPFLAGS) --def $(OBJDIR)/$*.def $< $(BUILDDIR)/libplugin.a $(BITMAPLIBS) \ $(SILENT)$(DLLWRAP) $(DLLWRAPFLAGS) --def $(OBJDIR)/$*.def $< $(BUILDDIR)/libplugin.a $(BITMAPLIBS) \
$(patsubst -l%,$(BUILDDIR)/lib%.a,$(CODECLIBS)) -o $@ $(patsubst -l%,$(BUILDDIR)/lib%.a,$(CODECLIBS)) -o $@
@ -149,17 +153,17 @@ endif # end of simulator section
include $(TOOLSDIR)/make.inc include $(TOOLSDIR)/make.inc
$(BUILDDIR)/libplugin.a: pluginlib:
$(SILENT)mkdir -p $(OBJDIR)/lib $(SILENT)mkdir -p $(OBJDIR)/lib
$(call PRINTS,MAKE in plugin/lib)$(MAKE) -C lib OBJDIR=$(OBJDIR)/lib $(call PRINTS,MAKE in plugin/lib)$(MAKE) -C lib OBJDIR=$(OBJDIR)/lib
$(LINKFILE): $(LDS) $(LINKFILE): $(LDS)
$(call PRINTS,build $(@F))cat $< | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P - >$@ $(call PRINTS,build $(@F))cat $< | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P - >$@
$(SUBDIRS): $(BITMAPLIBS) $(SUBDIRS):
$(SILENT)mkdir -p $(OBJDIR)/$@ $(SILENT)mkdir -p $(OBJDIR)/$@
$(call PRINTS,MAKE in $@)$(MAKE) -C $@ OUTDIR=$(OBJDIR) OBJDIR=$(OBJDIR)/$@ \ $(call PRINTS,MAKE in $@)$(MAKE) -C $@ OUTDIR=$(OBJDIR) OBJDIR=$(OBJDIR)/$@ \
LINKBITMAPS="$(LINKBITMAPS)" BITMAPLIBS="$(BITMAPLIBS)" LINKBITMAPS="$(LINKBITMAPS)"
clean: clean:
$(call PRINTS,cleaning plugins)rm -f $(ROCKS) $(LINKFILE) $(OBJDIR)/*.rock $(DEPFILE) $(ELFS) \ $(call PRINTS,cleaning plugins)rm -f $(ROCKS) $(LINKFILE) $(OBJDIR)/*.rock $(DEPFILE) $(ELFS) \

View file

@ -20,8 +20,8 @@
****************************************************************************/ ****************************************************************************/
#include "plugin.h" #include "plugin.h"
#include "card_deck.h" #include "pluginbitmaps/card_deck.h"
#include "card_back.h" #include "pluginbitmaps/card_back.h"
PLUGIN_HEADER PLUGIN_HEADER

View file

@ -211,12 +211,12 @@ enum menu_items {
BM_SEL_QUIT, BM_SEL_QUIT,
}; };
#include "brickmania_pads.h" #include "pluginbitmaps/brickmania_pads.h"
#include "brickmania_bricks.h" #include "pluginbitmaps/brickmania_bricks.h"
#include "brickmania_powerups.h" #include "pluginbitmaps/brickmania_powerups.h"
#include "brickmania_ball.h" #include "pluginbitmaps/brickmania_ball.h"
#include "brickmania_menu_items.h" #include "pluginbitmaps/brickmania_menu_items.h"
#include "brickmania_gameover.h" #include "pluginbitmaps/brickmania_gameover.h"
#define PAD_WIDTH BMPWIDTH_brickmania_pads #define PAD_WIDTH BMPWIDTH_brickmania_pads
#define PAD_HEIGHT (BMPHEIGHT_brickmania_pads/3) #define PAD_HEIGHT (BMPHEIGHT_brickmania_pads/3)
@ -234,13 +234,13 @@ enum menu_items {
#define GAMEOVER_HEIGHT BMPHEIGHT_brickmania_gameover #define GAMEOVER_HEIGHT BMPHEIGHT_brickmania_gameover
#if LCD_DEPTH > 1 /* currently no background bmp for mono screens */ #if LCD_DEPTH > 1 /* currently no background bmp for mono screens */
#include "brickmania_menu_bg.h" #include "pluginbitmaps/brickmania_menu_bg.h"
#define MENU_BGHEIGHT BMPHEIGHT_brickmania_menu_bg #define MENU_BGHEIGHT BMPHEIGHT_brickmania_menu_bg
#define MENU_BGWIDTH BMPWIDTH_brickmania_menu_bg #define MENU_BGWIDTH BMPWIDTH_brickmania_menu_bg
#endif #endif
#ifdef HAVE_LCD_COLOR /* currently no transparency for non-colour */ #ifdef HAVE_LCD_COLOR /* currently no transparency for non-colour */
#include "brickmania_break.h" #include "pluginbitmaps/brickmania_break.h"
#endif #endif
#if (LCD_WIDTH == 320) && (LCD_HEIGHT == 240) #if (LCD_WIDTH == 320) && (LCD_HEIGHT == 240)

View file

@ -99,10 +99,10 @@ PLUGIN_HEADER
/* external bitmaps */ /* external bitmaps */
#ifdef HAVE_LCD_COLOR #ifdef HAVE_LCD_COLOR
#include "bubbles_background.h" #include "pluginbitmaps/bubbles_background.h"
#endif #endif
#include "bubbles_bubble.h" #include "pluginbitmaps/bubbles_bubble.h"
#include "bubbles_emblem.h" #include "pluginbitmaps/bubbles_emblem.h"
#define BUBBLE_WIDTH BMPWIDTH_bubbles_bubble #define BUBBLE_WIDTH BMPWIDTH_bubbles_bubble
#define BUBBLE_HEIGHT BMPHEIGHT_bubbles_bubble #define BUBBLE_HEIGHT BMPHEIGHT_bubbles_bubble

View file

@ -253,8 +253,8 @@ static int cursor_pos, moves;
#ifdef HAVE_LCD_BITMAP #ifdef HAVE_LCD_BITMAP
#include "flipit_cursor.h" #include "pluginbitmaps/flipit_cursor.h"
#include "flipit_tokens.h" #include "pluginbitmaps/flipit_tokens.h"
#define PANEL_HEIGHT 12 #define PANEL_HEIGHT 12
#define TK_WIDTH BMPWIDTH_flipit_cursor #define TK_WIDTH BMPWIDTH_flipit_cursor

View file

@ -56,9 +56,9 @@ static unsigned long char_patterns[NB_SLOTS];
#endif #endif
/* FIXME: would be nice to have better graphics ... */ /* FIXME: would be nice to have better graphics ... */
#include "jackpot_slots.h" #include "pluginbitmaps/jackpot_slots.h"
#if NB_SCREENS==2 #if NB_SCREENS==2
#include "jackpot_slots_remote.h" #include "pluginbitmaps/jackpot_slots_remote.h"
#endif #endif
const struct picture jackpot_pictures[]={ const struct picture jackpot_pictures[]={

View file

@ -31,7 +31,7 @@ PLUGIN_HEADER
#ifdef HAVE_REMOTE_LCD #ifdef HAVE_REMOTE_LCD
#define REMOTE_WIDTH LCD_REMOTE_WIDTH #define REMOTE_WIDTH LCD_REMOTE_WIDTH
#define REMOTE_HEIGHT LCD_REMOTE_HEIGHT #define REMOTE_HEIGHT LCD_REMOTE_HEIGHT
#include "remote_rockboxlogo.h" #include "pluginbitmaps/remote_rockboxlogo.h"
#define REMOTE_LOGO_WIDTH BMPWIDTH_remote_rockboxlogo #define REMOTE_LOGO_WIDTH BMPWIDTH_remote_rockboxlogo
#define REMOTE_LOGO_HEIGHT BMPHEIGHT_remote_rockboxlogo #define REMOTE_LOGO_HEIGHT BMPHEIGHT_remote_rockboxlogo
#define REMOTE_LOGO remote_rockboxlogo #define REMOTE_LOGO remote_rockboxlogo
@ -39,7 +39,7 @@ extern const fb_remote_data remote_rockboxlogo[];
#endif /* HAVE_REMOTE_LCD */ #endif /* HAVE_REMOTE_LCD */
#define LOGO rockboxlogo #define LOGO rockboxlogo
#include "rockboxlogo.h" #include "pluginbitmaps/rockboxlogo.h"
#define LOGO_WIDTH BMPWIDTH_rockboxlogo #define LOGO_WIDTH BMPWIDTH_rockboxlogo
#define LOGO_HEIGHT BMPHEIGHT_rockboxlogo #define LOGO_HEIGHT BMPHEIGHT_rockboxlogo
extern const fb_data rockboxlogo[]; extern const fb_data rockboxlogo[];

View file

@ -20,12 +20,12 @@
****************************************************************************/ ****************************************************************************/
#include "plugin.h" #include "plugin.h"
#include "pegbox_header.h" #include "pluginbitmaps/pegbox_header.h"
#include "pegbox_pieces.h" #include "pluginbitmaps/pegbox_pieces.h"
#if LCD_HEIGHT >= 80 /* enough space for a graphical menu */ #if LCD_HEIGHT >= 80 /* enough space for a graphical menu */
#include "pegbox_menu_top.h" #include "pluginbitmaps/pegbox_menu_top.h"
#include "pegbox_menu_items.h" #include "pluginbitmaps/pegbox_menu_items.h"
#define MENU_X (LCD_WIDTH-BMPWIDTH_pegbox_menu_items)/2 #define MENU_X (LCD_WIDTH-BMPWIDTH_pegbox_menu_items)/2
#define MENU_Y BMPHEIGHT_pegbox_menu_top #define MENU_Y BMPHEIGHT_pegbox_menu_top
#define ITEM_WIDTH BMPWIDTH_pegbox_menu_items #define ITEM_WIDTH BMPWIDTH_pegbox_menu_items

View file

@ -28,8 +28,8 @@
#include "helper.h" #include "helper.h"
#include "bmp.h" #include "bmp.h"
#include "picture.h" #include "picture.h"
#include "pictureflow_logo.h" #include "pluginbitmaps/pictureflow_logo.h"
#include "pictureflow_emptyslide.h" #include "pluginbitmaps/pictureflow_emptyslide.h"
PLUGIN_HEADER PLUGIN_HEADER

View file

@ -181,7 +181,7 @@ PLUGIN_HEADER
#endif #endif
#endif #endif
#include "sliding_puzzle.h" #include "pluginbitmaps/sliding_puzzle.h"
#define IMAGE_WIDTH BMPWIDTH_sliding_puzzle #define IMAGE_WIDTH BMPWIDTH_sliding_puzzle
#define IMAGE_HEIGHT BMPHEIGHT_sliding_puzzle #define IMAGE_HEIGHT BMPHEIGHT_sliding_puzzle
#define IMAGE_SIZE IMAGE_WIDTH #define IMAGE_SIZE IMAGE_WIDTH

View file

@ -38,11 +38,11 @@ PLUGIN_HEADER
#define HEIGHT 16 #define HEIGHT 16
#if (LCD_WIDTH >= 160) && (LCD_HEIGHT >= 128) && (LCD_DEPTH >= 1) #if (LCD_WIDTH >= 160) && (LCD_HEIGHT >= 128) && (LCD_DEPTH >= 1)
#include "snake2_header1.h" #include "pluginbitmaps/snake2_header1.h"
#include "snake2_header2.h" #include "pluginbitmaps/snake2_header2.h"
#include "snake2_left.h" #include "pluginbitmaps/snake2_left.h"
#include "snake2_right.h" #include "pluginbitmaps/snake2_right.h"
#include "snake2_bottom.h" #include "pluginbitmaps/snake2_bottom.h"
#define BMPHEIGHT_snake2_header BMPHEIGHT_snake2_header1 #define BMPHEIGHT_snake2_header BMPHEIGHT_snake2_header1
#define BMPWIDTH_snake2_header BMPWIDTH_snake2_header1 #define BMPWIDTH_snake2_header BMPWIDTH_snake2_header1
#endif #endif

View file

@ -32,7 +32,7 @@ PLUGIN_HEADER
#define SOKOBAN_SAVE_FILE PLUGIN_GAMES_DIR "/sokoban.save" #define SOKOBAN_SAVE_FILE PLUGIN_GAMES_DIR "/sokoban.save"
#define SOKOBAN_SAVE_FOLDER "/games" #define SOKOBAN_SAVE_FOLDER "/games"
#include "sokoban_tiles.h" #include "pluginbitmaps/sokoban_tiles.h"
#define SOKOBAN_TILESIZE BMPWIDTH_sokoban_tiles #define SOKOBAN_TILESIZE BMPWIDTH_sokoban_tiles
/* SOKOBAN_TILESIZE is the number of pixels for each block. /* SOKOBAN_TILESIZE is the number of pixels for each block.
* Set dynamically so all targets can support levels * Set dynamically so all targets can support levels

View file

@ -377,9 +377,9 @@ static char helptext[] =
* Misc constants, graphics and other defines * Misc constants, graphics and other defines
*/ */
#include "card_back.h" #include "pluginbitmaps/card_back.h"
#include "card_deck.h" #include "pluginbitmaps/card_deck.h"
#include "solitaire_suitsi.h" #include "pluginbitmaps/solitaire_suitsi.h"
#define CARD_GFX_WIDTH BMPWIDTH_card_back #define CARD_GFX_WIDTH BMPWIDTH_card_back
#define CARD_GFX_HEIGHT BMPHEIGHT_card_back #define CARD_GFX_HEIGHT BMPHEIGHT_card_back

View file

@ -293,7 +293,7 @@ static int control;
/* the current board */ /* the current board */
static char board[STAR_HEIGHT][STAR_WIDTH]; static char board[STAR_HEIGHT][STAR_WIDTH];
#include "star_tiles.h" #include "pluginbitmaps/star_tiles.h"
#define TILE_WIDTH BMPWIDTH_star_tiles #define TILE_WIDTH BMPWIDTH_star_tiles
#define TILE_HEIGHT (BMPHEIGHT_star_tiles/5) #define TILE_HEIGHT (BMPHEIGHT_star_tiles/5)

View file

@ -30,9 +30,9 @@
/* External bitmaps */ /* External bitmaps */
#include <rockboxlogo.h> #include "bitmaps/rockboxlogo.h"
#ifdef HAVE_REMOTE_LCD #ifdef HAVE_REMOTE_LCD
#include <remote_rockboxlogo.h> #include "bitmaps/remote_rockboxlogo.h"
#endif #endif

View file

@ -61,11 +61,11 @@
#include "viewport.h" #include "viewport.h"
#ifdef HAVE_LCD_BITMAP #ifdef HAVE_LCD_BITMAP
#include <bitmaps/usblogo.h> #include "bitmaps/usblogo.h"
#endif #endif
#ifdef HAVE_REMOTE_LCD #ifdef HAVE_REMOTE_LCD
#include <bitmaps/remote_usblogo.h> #include "bitmaps/remote_usblogo.h"
#endif #endif
#if (CONFIG_STORAGE & STORAGE_MMC) #if (CONFIG_STORAGE & STORAGE_MMC)

View file

@ -48,6 +48,8 @@ $(DEPFILE): $(SOURCES)
done | sed -e "s:[^[:space:]]*lang.h:$(OBJDIR)/lang.o:" \ done | sed -e "s:[^[:space:]]*lang.h:$(OBJDIR)/lang.o:" \
-e "s:[^[:space:]]*sysfont.h:$(BUILDDIR)/sysfont.h:" \ -e "s:[^[:space:]]*sysfont.h:$(BUILDDIR)/sysfont.h:" \
-e "s:[^[:space:]]*max_language_size.h:$(BUILDDIR)/max_language_size.h:" \ -e "s:[^[:space:]]*max_language_size.h:$(BUILDDIR)/max_language_size.h:" \
-e "s: bitmaps/: $(BUILDDIR)/bitmaps/:g" \
-e "s: pluginbitmaps/: $(BUILDDIR)/pluginbitmaps/:g" \
> $(DEPFILE); \ > $(DEPFILE); \
echo "oo" > /dev/null ) echo "oo" > /dev/null )