From d16cefca9505fb814cbbbe7866a90584347e745c Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Thu, 15 Dec 2011 18:45:05 +0000 Subject: mkamsboot: convert to use libtools.make. As a result building mkamsboot for Rockbox Utility will now respect BUILD_DIR, which should eliminate all possibly remaining issues with dualboot.o. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31283 a1c6a512-1295-4272-9138-f99709370657 --- rbutil/mkamsboot/Makefile | 96 +++-------------------------------------------- 1 file changed, 5 insertions(+), 91 deletions(-) (limited to 'rbutil/mkamsboot') diff --git a/rbutil/mkamsboot/Makefile b/rbutil/mkamsboot/Makefile index 052904211b..5379e1376f 100644 --- a/rbutil/mkamsboot/Makefile +++ b/rbutil/mkamsboot/Makefile @@ -5,106 +5,20 @@ # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ # \/ \/ \/ \/ \/ -#change for releases -ifndef APPVERSION -APPVERSION=$(shell ../../tools/version.sh ../../) -endif -TARGET_DIR ?= $(shell pwd)/ # We use the UCL code available in the Rockbox tools/ directory -CFLAGS=-I../../tools/ucl/include -Wall -DVERSION=\"$(APPVERSION)\" +CFLAGS += -I../../tools/ucl/include -Wall -ifndef V -SILENT = @ -endif - -ifeq ($(findstring CYGWIN,$(shell uname)),CYGWIN) -OUTPUT=mkamsboot.exe -CFLAGS+=-mno-cygwin -else -ifeq ($(findstring MINGW,$(shell uname)),MINGW) -OUTPUT=mkamsboot.exe -else -ifeq ($(findstring mingw,$(CC)),mingw) -OUTPUT=mkamsboot.exe -else -OUTPUT=mkamsboot -endif -endif -endif - -ifdef RBARCH -CFLAGS += -arch $(RBARCH) -OBJDIR = $(TARGET_DIR)build/$(RBARCH)/ -else -OBJDIR = $(TARGET_DIR)build/ -endif - - -all: $(OUTPUT) - -# additional link dependencies for the standalone executable -LIBUCL=$(OBJDIR)libucl$(RBARCH).a - -$(LIBUCL): - $(SILENT)$(MAKE) -C ../../tools/ucl/src TARGET_DIR=$(OBJDIR) libucl$(RBARCH).a +OUTPUT = mkamsboot +LIBUCL = libucl$(RBARCH).a # inputs LIBSOURCES := dualboot.c md5.c mkamsboot.c SOURCES := $(LIBSOURCES) main.c -OBJS := $(patsubst %.c,%.o,$(addprefix $(OBJDIR),$(SOURCES))) -LIBOBJS := $(patsubst %.c,%.o,$(addprefix $(OBJDIR),$(LIBSOURCES))) +# additional link dependencies for the standalone executable EXTRADEPS := $(LIBUCL) +include ../libtools.make # explicit dependencies on dualboot.{c,h} and mkamsboot.h $(OBJDIR)mkamsboot.o: dualboot.h dualboot.c mkamsboot.c mkamsboot.h $(OBJDIR)main.o: dualboot.h dualboot.c main.c mkamsboot.h -$(OBJDIR)%.o: %.c - @echo CC $< - $(SILENT)mkdir -p $(dir $@) - $(SILENT)$(CC) $(CFLAGS) -c -o $@ $< - -libmkamsboot$(RBARCH).a: $(TARGET_DIR)libmkamsboot$(RBARCH).a - -$(TARGET_DIR)libmkamsboot$(RBARCH).a: $(LIBOBJS) - @echo AR $(notdir $@) - $(SILENT)$(AR) rucs $@ $^ - -# building the standalone executable -$(OUTPUT): $(OBJS) $(EXTRADEPS) - @echo LD $@ - $(SILENT)$(CC) $(CFLAGS) -o $(OUTPUT) $(OBJS) $(EXTRADEPS) - -# some trickery to build ppc and i386 from a single call -ifeq ($(RBARCH),) -$(TARGET_DIR)libmkamsbooti386.a: - make RBARCH=i386 TARGET_DIR=$(TARGET_DIR) libmkamsbooti386.a - -$(TARGET_DIR)libmkamsbootppc.a: - make RBARCH=ppc TARGET_DIR=$(TARGET_DIR) libmkamsbootppc.a -endif - -libmkamsboot-universal: $(TARGET_DIR)libmkamsbooti386.a $(TARGET_DIR)libmkamsbootppc.a - @echo lipo $(TARGET_DIR)libmkamsboot.a - $(SILENT) rm -f $(TARGET_DIR)libmkamsboot.a - $(SILENT)lipo -create $(TARGET_DIR)libmkamsbootppc.a $(TARGET_DIR)libmkamsbooti386.a -output $(TARGET_DIR)libmkamsboot.a - -clean: - rm -f $(OBJS) $(OUTPUT) libmkamsboot.o $(TARGET_DIR)libmkamsboot*.a mkamsboot.dmg - rm -rf mkamsboot-* i386 ppc $(OBJDIR) - -mkamsboot-i386: - $(MAKE) RBARCH=i386 - mv mkamsboot mkamsboot-i386 - -mkamsboot-ppc: - $(MAKE) RBARCH=ppc - mv mkamsboot mkamsboot-ppc - -mkamsboot-mac: mkamsboot-i386 mkamsboot-ppc - $(SILENT)lipo -create mkamsboot-ppc mkamsboot-i386 -output mkamsboot-mac - -mkamsboot.dmg: mkamsboot-mac - mkdir -p mkamsboot-dmg - cp -p mkamsboot-mac mkamsboot-dmg - hdiutil create -srcfolder mkamsboot-dmg mkamsboot.dmg -- cgit v1.2.3