summaryrefslogtreecommitdiff
path: root/rbutil
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2011-12-14 22:00:47 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2011-12-14 22:00:47 +0000
commitb52a9cc976f07e656b1cb8aa2a5a43f2600b3502 (patch)
treeb11e1ead9e2e6ad6b2e695a9ac0303d9d0d63841 /rbutil
parent0d4af186c70e4ce22d4dbfb795602fd0ddc9fa8f (diff)
downloadrockbox-b52a9cc976f07e656b1cb8aa2a5a43f2600b3502.tar.gz
rockbox-b52a9cc976f07e656b1cb8aa2a5a43f2600b3502.zip
mkimxboot: use common Makefile.
Change mkimxboot to use the common Makefile. This will fix the object file clash when building libmkimxboot for linking with Rockbox Utility (will be needed for FS#12402). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31261 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil')
-rw-r--r--rbutil/mkimxboot/Makefile103
1 files changed, 12 insertions, 91 deletions
diff --git a/rbutil/mkimxboot/Makefile b/rbutil/mkimxboot/Makefile
index 08cd887fce..2293d3939a 100644
--- a/rbutil/mkimxboot/Makefile
+++ b/rbutil/mkimxboot/Makefile
@@ -5,108 +5,29 @@
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/ 6# \/ \/ \/ \/ \/
7 7
8#change for releases
9ifndef APPVERSION
10APPVERSION=$(shell ../../tools/version.sh ../../)
11endif
12TARGET_DIR ?= $(shell pwd)/
13# We use the SB code available in the Rockbox utils/sbtools directory 8# We use the SB code available in the Rockbox utils/sbtools directory
14IMXTOOLS_DIR=../../utils/imxtools/ 9IMXTOOLS_DIR=../../utils/imxtools/
15CFLAGS=-I$(IMXTOOLS_DIR) -Wall -DVERSION=\"$(APPVERSION)\" 10CFLAGS = -I$(IMXTOOLS_DIR) -Wall
16
17ifndef V
18SILENT = @
19endif
20
21ifeq ($(findstring CYGWIN,$(shell uname)),CYGWIN)
22OUTPUT=mkimxboot.exe
23CFLAGS+=-mno-cygwin
24else
25ifeq ($(findstring MINGW,$(shell uname)),MINGW)
26OUTPUT=mkimxboot.exe
27else
28ifeq ($(findstring mingw,$(CC)),mingw)
29OUTPUT=mkimxboot.exe
30else
31OUTPUT=mkimxboot
32endif
33endif
34endif
35
36ifdef RBARCH
37CFLAGS += -arch $(RBARCH)
38OBJDIR = $(TARGET_DIR)build/$(RBARCH)/
39else
40OBJDIR = $(TARGET_DIR)build/
41endif
42
43CFLAGS += -std=c99 11CFLAGS += -std=c99
44 12
45all: $(OUTPUT) 13OUTPUT = mkimxboot
46 14
47# inputs 15# inputs for lib
48LIBIMXSOURCES=misc.c sb.c crypto.c crc.c aes128.c sha1.c 16IMXTOOLS_SOURCES = misc.c sb.c crypto.c crc.c aes128.c sha1.c
49LIBSOURCES := dualboot.c mkimxboot.c md5.c $(LIBIMXSOURCES) 17LIBSOURCES := dualboot.c mkimxboot.c md5.c \
18 $(addprefix $(IMXTOOLS_DIR),$(IMXTOOLS_SOURCES))
19# inputs for binary only
50SOURCES := $(LIBSOURCES) main.c 20SOURCES := $(LIBSOURCES) main.c
51OBJS := $(patsubst %.c,%.o,$(addprefix $(OBJDIR),$(SOURCES))) 21# dependencies for binary
52LIBOBJS := $(patsubst %.c,%.o,$(addprefix $(OBJDIR),$(LIBSOURCES))) 22EXTRADEPS :=
53EXTRADEPS := 23
24include ../libtools.make
54 25
55# explicit dependencies on dualboot.{c,h} and mkimxboot.h 26# explicit dependencies on dualboot.{c,h} and mkimxboot.h
56$(OBJDIR)mkimxboot.o: dualboot.h dualboot.c mkimxboot.c mkimxboot.h 27$(OBJDIR)mkimxboot.o: dualboot.h dualboot.c mkimxboot.c mkimxboot.h
57$(OBJDIR)main.o: dualboot.h dualboot.c main.c mkimxboot.h 28$(OBJDIR)main.o: dualboot.h dualboot.c main.c mkimxboot.h
58 29
59$(OBJDIR)%.o: %.c
60 @echo CC $<
61 $(SILENT)mkdir -p $(dir $@)
62 $(SILENT)$(CC) $(CFLAGS) -c -o $@ $<
63
64$(OBJDIR)%.o: $(IMXTOOLS_DIR)%.c 30$(OBJDIR)%.o: $(IMXTOOLS_DIR)%.c
65 @echo CC $< 31 @echo CC $<
66 $(SILENT)mkdir -p $(dir $@) 32 $(SILENT)mkdir -p $(dir $@)
67 $(SILENT)$(CC) $(CFLAGS) -c -o $@ $< 33 $(SILENT)$(CROSS)$(CC) $(CFLAGS) -c -o $@ $<
68
69libmkimxboot$(RBARCH).a: $(TARGET_DIR)libmkimxboot$(RBARCH).a
70
71$(TARGET_DIR)libmkimxboot$(RBARCH).a: $(LIBOBJS)
72 @echo AR $(notdir $@)
73 $(SILENT)$(AR) rucs $@ $^
74
75# building the standalone executable
76$(OUTPUT): $(OBJS) $(EXTRADEPS)
77 @echo LD $@
78 $(SILENT)$(CC) $(CFLAGS) -o $(OUTPUT) $(OBJS) $(EXTRADEPS)
79
80# some trickery to build ppc and i386 from a single call
81ifeq ($(RBARCH),)
82$(TARGET_DIR)libmkimxbooti386.a:
83 make RBARCH=i386 TARGET_DIR=$(TARGET_DIR) libmkimxbooti386.a
84
85$(TARGET_DIR)libmkimxbootppc.a:
86 make RBARCH=ppc TARGET_DIR=$(TARGET_DIR) libmkimxbootppc.a
87endif
88
89libmkimxboot-universal: $(TARGET_DIR)libmkimxbooti386.a $(TARGET_DIR)libmkimxbootppc.a
90 @echo lipo $(TARGET_DIR)libmkimxboot.a
91 $(SILENT) rm -f $(TARGET_DIR)libmkimxboot.a
92 $(SILENT)lipo -create $(TARGET_DIR)libmkimxbootppc.a $(TARGET_DIR)libmkimxbooti386.a -output $(TARGET_DIR)libmkimxboot.a
93
94clean:
95 rm -f $(OBJS) $(OUTPUT) libmkimxboot.o $(TARGET_DIR)libmkimxboot*.a mkimxboot.dmg
96 rm -rf mkimxboot-* i386 ppc $(OBJDIR)
97
98mkimxboot-i386:
99 $(MAKE) RBARCH=i386
100 mv mkimxboot mkimxboot-i386
101
102mkimxboot-ppc:
103 $(MAKE) RBARCH=ppc
104 mv mkimxboot mkimxboot-ppc
105
106mkimxboot-mac: mkimxboot-i386 mkimxboot-ppc
107 $(SILENT)lipo -create mkimxboot-ppc mkimxboot-i386 -output mkimxboot-mac
108
109mkimxboot.dmg: mkimxboot-mac
110 mkdir -p mkimxboot-dmg
111 cp -p mkimxboot-mac mkimxboot-dmg
112 hdiutil create -srcfolder mkimxboot-dmg mkimxboot.dmg