From c6b3d38a156dd624760a8eb1bb374affd43b4f2a Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Thu, 20 Nov 2008 11:27:31 +0000 Subject: 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 --- apps/plugins/pacbox/Makefile | 108 ---------------------------------------- apps/plugins/pacbox/pacbox.make | 27 ++++++++++ 2 files changed, 27 insertions(+), 108 deletions(-) delete mode 100644 apps/plugins/pacbox/Makefile create mode 100644 apps/plugins/pacbox/pacbox.make (limited to 'apps/plugins/pacbox') diff --git a/apps/plugins/pacbox/Makefile b/apps/plugins/pacbox/Makefile deleted file mode 100644 index e1b998a7aa..0000000000 --- a/apps/plugins/pacbox/Makefile +++ /dev/null @@ -1,108 +0,0 @@ -# __________ __ ___. -# Open \______ \ ____ ____ | | _\_ |__ _______ ___ -# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / -# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < -# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ -# \/ \/ \/ \/ \/ -# $Id$ -# - -INCLUDES = -I$(APPSDIR) -I.. -I. $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export \ - -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(OUTDIR) -I$(BUILDDIR) -CFLAGS = $(INCLUDES) $(GCCOPTS) -O2 $(TARGET) $(EXTRA_DEFINES) \ - -DTARGET_ID=$(TARGET_ID) -DMEM=${MEMORYSIZE} -DPLUGIN - -ifdef APPEXTRA - INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA))) -endif - -LINKFILE := $(OBJDIR)/link.lds -DEPFILE = $(OBJDIR)/dep-pacbox - -# This sets up 'SRC' based on the files mentioned in SOURCES -include $(TOOLSDIR)/makesrc.inc - -SOURCES = $(SRC) -OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o) -OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2)) -DIRS = . - -LDS := ../plugin.lds -OUTPUT = $(OUTDIR)/pacbox.rock - -all: $(OUTPUT) - -ifndef SIMVER -$(OBJDIR)/pacbox.elf: $(OBJS) $(LINKFILE) - $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) -o $@ $(OBJS) -L$(BUILDDIR) -lplugin -lgcc \ - -T$(LINKFILE) -Wl,--gc-sections -Wl,-Map,$(OBJDIR)/pacbox.map - -$(OUTPUT): $(OBJDIR)/pacbox.elf - $(call PRINTS,OBJCOPY $(@F))$(OC) -O binary $< $@ -else - -ifeq ($(SIMVER), x11) -################################################### -# This is the X11 simulator version - -$(OUTPUT): $(OBJS) - $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $(OBJS) -L$(BUILDDIR) -lplugin -o $@ -ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN) -# 'x' must be kept or you'll have "Win32 error 5" -# $ fgrep 5 /usr/include/w32api/winerror.h | head -1 -# #define ERROR_ACCESS_DENIED 5L -else - @chmod -x $@ -endif - -else # end of x11-simulator -ifeq ($(SIMVER), sdl) -################################################### -# This is the SDL simulator version - -$(OUTPUT): $(OBJS) - $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $(OBJS) -L$(BUILDDIR) -lplugin -o $@ -ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN) -# 'x' must be kept or you'll have "Win32 error 5" -# $ fgrep 5 /usr/include/w32api/winerror.h | head -1 -# #define ERROR_ACCESS_DENIED 5L -else - @chmod -x $@ -endif - -else # end of sdl-simulator -################################################### -# This is the win32 simulator version -DLLTOOLFLAGS = --export-all -DLLWRAPFLAGS = -s --entry _DllMain@12 --target=i386-mingw32 -mno-cygwin - -$(OUTPUT): $(OBJS) - $(call PRINTS,DLL $(@F))$(DLLTOOL) $(DLLTOOLFLAGS) -z $(OBJDIR)/$*.def $(OBJS) - $(SILENT)$(DLLWRAP) $(DLLWRAPFLAGS) --def $(OBJDIR)/$*.def $(OBJS) \ - $(BUILDDIR)/libplugin.a -o $@ -ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN) -# 'x' must be kept or you'll have "Win32 error 5" -# $ fgrep 5 /usr/include/w32api/winerror.h | head -1 -# #define ERROR_ACCESS_DENIED 5L -else - @chmod -x $@ -endif -endif # end of win32-simulator -endif -endif # end of simulator section - - -include $(TOOLSDIR)/make.inc - -# MEMORYSIZE should be passed on to this makefile with the chosen memory size -# given in number of MB -$(LINKFILE): $(LDS) - $(call PRINTS,build $(@F))cat $< | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) \ - $(DEFINES) -E -P - >$@ - -clean: - $(call PRINTS,cleaning pacbox)rm -rf $(OBJDIR)/pacbox - $(SILENT)rm -f $(OBJDIR)/pacbox.* $(DEPFILE) - --include $(DEPFILE) - diff --git a/apps/plugins/pacbox/pacbox.make b/apps/plugins/pacbox/pacbox.make new file mode 100644 index 0000000000..75a599d602 --- /dev/null +++ b/apps/plugins/pacbox/pacbox.make @@ -0,0 +1,27 @@ +# __________ __ ___. +# Open \______ \ ____ ____ | | _\_ |__ _______ ___ +# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / +# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < +# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ +# \/ \/ \/ \/ \/ +# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $ +# + +PACBOXSRCDIR := $(APPSDIR)/plugins/pacbox +PACBOXBUILDDIR := $(BUILDDIR)/apps/plugins/pacbox + +ROCKS += $(PACBOXBUILDDIR)/pacbox.rock + +PACBOX_SRC := $(call preprocess, $(PACBOXSRCDIR)/SOURCES) +PACBOX_OBJ := $(call c2obj, $(PACBOX_SRC)) + +# add source files to OTHER_SRC to get automatic dependencies +OTHER_SRC += $(PACBOX_SRC) + +PACBOXFLAGS = $(filter-out -O%,$(PLUGINFLAGS)) -O2 + +$(PACBOXBUILDDIR)/pacbox.rock: $(PACBOX_OBJ) + +$(PACBOXBUILDDIR)/%.o: $(PACBOXSRCDIR)/%.c $(PLUGINBITMAPLIB) $(PACBOXSRCDIR)/pacbox.make + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) -I$(dir $<) $(PACBOXFLAGS) -c $< -o $@ -- cgit v1.2.3