From ad785518111eabe4518dca485421e533186f63a5 Mon Sep 17 00:00:00 2001 From: Tomer Shalev Date: Thu, 29 Oct 2009 21:31:50 +0000 Subject: FS#10728 - Cowon D2: Add support for D2 in rbutil git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23410 a1c6a512-1295-4272-9138-f99709370657 --- rbutil/mktccboot/Makefile | 108 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 102 insertions(+), 6 deletions(-) (limited to 'rbutil/mktccboot/Makefile') diff --git a/rbutil/mktccboot/Makefile b/rbutil/mktccboot/Makefile index f3c0409b2a..9399a0c09f 100644 --- a/rbutil/mktccboot/Makefile +++ b/rbutil/mktccboot/Makefile @@ -6,16 +6,112 @@ # \/ \/ \/ \/ \/ # $Id$ # + +# We use the Telechips code available in the Rockbox tools/ directory TOOLSDIR=../../tools CFLAGS := -O -g -W -Wall -Wshadow -pedantic -I$(TOOLSDIR) -all: mktccboot +PLAT=tcc + +CC = gcc +MKPLATBOOT=mk$(PLAT)boot +LIB_MKPLATBOOT=lib$(MKPLATBOOT) + +#change for releases +ifndef APPVERSION +APPVERSION=`$(TOOLSDIR)/version.sh` +endif + +ifndef V +SILENT = @ +endif + +ifeq ($(findstring CYGWIN,$(shell uname)),CYGWIN) +OUTPUT=$(MKPLATBOOT).exe +CFLAGS+=-mno-cygwin +else +ifeq ($(findstring MINGW,$(shell uname)),MINGW) +OUTPUT=$(MKPLATBOOT).exe +else +ifeq ($(findstring mingw,$(CC)),mingw) +OUTPUT=$(MKPLATBOOT).exe +else +OUTPUT=$(MKPLATBOOT) +endif +endif +endif + +ifdef RBARCH +CFLAGS += -arch $(RBARCH) +endif + +OUT = $(TARGET_DIR)build$(RBARCH) + +MKPLATBOOT_OBJ=$(OUT)/$(MKPLATBOOT).o +LIBMKPLATBOOT_OBJ=$(OUT)/$(LIB_MKPLATBOOT).o + +all: $(OUTPUT) + +# Dependant modules +TELECHIPS=$(TOOLSDIR)/telechips +TELECHIPS_OBJ=$(TELECHIPS).o -telechips.o: $(TOOLSDIR)/telechips.c $(TOOLSDIR)/telechips.h - $(SILENT)$(CC) $(CFLAGS) $(TOOLSDIR)/telechips.c -c -o $@ +$(TELECHIPS_OBJ): $(TELECHIPS).[ch] + make -C $(TOOLSDIR) $(TARGET_DIR)telechips.o -mktccboot: mktccboot.c telechips.o - $(SILENT)$(CC) $(CFLAGS) $+ -o $@ +DEPENDANT_OBJS=$(TELECHIPS_OBJ) +$(MKPLATBOOT_OBJ): $(MKPLATBOOT).[ch] $(DEPENDANT_OBJS) + @echo CC $< + $(SILENT)$(CC) $(CFLAGS) -c -o $(MKPLATBOOT_OBJ) -W -Wall $(MKPLATBOOT).c -DVERSION=\"$(APPVERSION)\" + +$(OUTPUT): $(OUT) $(MKPLATBOOT_OBJ) + @echo CC $< + $(SILENT)$(CC) $(CFLAGS) -o $(OUTPUT) $(MKPLATBOOT_OBJ) $(DEPENDANT_OBJS) + +$(LIBMKPLATBOOT_OBJ): $(MKPLATBOOT_OBJ) + @echo CC $< + $(SILENT)$(CC) $(CFLAGS) -DLIB -c -o $(LIBMKPLATBOOT_OBJ) -W -Wall $(MKPLATBOOT).c + +$(LIB_MKPLATBOOT)$(RBARCH).a: $(OUT) $(LIBMKPLATBOOT_OBJ) + @echo AR $@ + $(SILENT)$(AR) ruc $(TARGET_DIR)$(LIB_MKPLATBOOT)$(RBARCH).a $(LIBMKPLATBOOT_OBJ) + +# some trickery to build ppc and i386 from a single call +ifeq ($(RBARCH),) +$(LIB_MKPLATBOOT)i386.a: + make RBARCH=i386 TARGET_DIR=$(TARGET_DIR) $(LIB_MKPLATBOOT)i386.a + +$(LIB_MKPLATBOOT)ppc.a: + make RBARCH=ppc TARGET_DIR=$(TARGET_DIR) $(LIB_MKPLATBOOT)ppc.a +endif + +$(LIB_MKPLATBOOT)-universal: $(LIB_MKPLATBOOT)i386.a $(LIB_MKPLATBOOT)ppc.a + @echo lipo $(TARGET_DIR)$(LIB_MKPLATBOOT).a + $(SILENT) rm -f $(TARGET_DIR)$(LIB_MKPLATBOOT).a + lipo -create $(TARGET_DIR)$(LIB_MKPLATBOOT)ppc.a $(TARGET_DIR)$(LIB_MKPLATBOOT)i386.a -output $(TARGET_DIR)$(LIB_MKPLATBOOT).a + clean: - rm -f telechips.o mktccboot + rm -f $(OUTPUT) $(LIB_MKPLATBOOT).o $(TARGET_DIR)$(LIB_MKPLATBOOT)*.a $(MKPLATBOOT).dmg + rm -f $(DEPENDANT_OBJS) + rm -rf build* $(MKPLATBOOT)-* + +$(MKPLATBOOT)-i386: + $(MAKE) RBARCH=i386 + mv $(MKPLATBOOT) $(MKPLATBOOT)-i386 + +$(MKPLATBOOT)-ppc: + make RBARCH=ppc + mv $(MKPLATBOOT) $(MKPLATBOOT)-ppc + +$(MKPLATBOOT)-mac: $(MKPLATBOOT)-i386 $(MKPLATBOOT)-ppc + lipo -create $(MKPLATBOOT)-ppc $(MKPLATBOOT)-i386 -output $(MKPLATBOOT)-mac + +$(MKPLATBOOT).dmg: $(MKPLATBOOT)-mac + mkdir -p $(MKPLATBOOT)-dmg + cp -p $(MKPLATBOOT)-mac $(MKPLATBOOT)-dmg + hdiutil create -srcfolder $(MKPLATBOOT)-dmg $(MKPLATBOOT).dmg + +$(OUT): + @echo MKDIR $(OUT) + $(SILENT)mkdir $(OUT) -- cgit v1.2.3