diff options
-rw-r--r-- | rbutil/mkimxboot/Makefile | 103 |
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 | ||
9 | ifndef APPVERSION | ||
10 | APPVERSION=$(shell ../../tools/version.sh ../../) | ||
11 | endif | ||
12 | TARGET_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 |
14 | IMXTOOLS_DIR=../../utils/imxtools/ | 9 | IMXTOOLS_DIR=../../utils/imxtools/ |
15 | CFLAGS=-I$(IMXTOOLS_DIR) -Wall -DVERSION=\"$(APPVERSION)\" | 10 | CFLAGS = -I$(IMXTOOLS_DIR) -Wall |
16 | |||
17 | ifndef V | ||
18 | SILENT = @ | ||
19 | endif | ||
20 | |||
21 | ifeq ($(findstring CYGWIN,$(shell uname)),CYGWIN) | ||
22 | OUTPUT=mkimxboot.exe | ||
23 | CFLAGS+=-mno-cygwin | ||
24 | else | ||
25 | ifeq ($(findstring MINGW,$(shell uname)),MINGW) | ||
26 | OUTPUT=mkimxboot.exe | ||
27 | else | ||
28 | ifeq ($(findstring mingw,$(CC)),mingw) | ||
29 | OUTPUT=mkimxboot.exe | ||
30 | else | ||
31 | OUTPUT=mkimxboot | ||
32 | endif | ||
33 | endif | ||
34 | endif | ||
35 | |||
36 | ifdef RBARCH | ||
37 | CFLAGS += -arch $(RBARCH) | ||
38 | OBJDIR = $(TARGET_DIR)build/$(RBARCH)/ | ||
39 | else | ||
40 | OBJDIR = $(TARGET_DIR)build/ | ||
41 | endif | ||
42 | |||
43 | CFLAGS += -std=c99 | 11 | CFLAGS += -std=c99 |
44 | 12 | ||
45 | all: $(OUTPUT) | 13 | OUTPUT = mkimxboot |
46 | 14 | ||
47 | # inputs | 15 | # inputs for lib |
48 | LIBIMXSOURCES=misc.c sb.c crypto.c crc.c aes128.c sha1.c | 16 | IMXTOOLS_SOURCES = misc.c sb.c crypto.c crc.c aes128.c sha1.c |
49 | LIBSOURCES := dualboot.c mkimxboot.c md5.c $(LIBIMXSOURCES) | 17 | LIBSOURCES := dualboot.c mkimxboot.c md5.c \ |
18 | $(addprefix $(IMXTOOLS_DIR),$(IMXTOOLS_SOURCES)) | ||
19 | # inputs for binary only | ||
50 | SOURCES := $(LIBSOURCES) main.c | 20 | SOURCES := $(LIBSOURCES) main.c |
51 | OBJS := $(patsubst %.c,%.o,$(addprefix $(OBJDIR),$(SOURCES))) | 21 | # dependencies for binary |
52 | LIBOBJS := $(patsubst %.c,%.o,$(addprefix $(OBJDIR),$(LIBSOURCES))) | 22 | EXTRADEPS := |
53 | EXTRADEPS := | 23 | |
24 | include ../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 | |||
69 | libmkimxboot$(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 | ||
81 | ifeq ($(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 | ||
87 | endif | ||
88 | |||
89 | libmkimxboot-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 | |||
94 | clean: | ||
95 | rm -f $(OBJS) $(OUTPUT) libmkimxboot.o $(TARGET_DIR)libmkimxboot*.a mkimxboot.dmg | ||
96 | rm -rf mkimxboot-* i386 ppc $(OBJDIR) | ||
97 | |||
98 | mkimxboot-i386: | ||
99 | $(MAKE) RBARCH=i386 | ||
100 | mv mkimxboot mkimxboot-i386 | ||
101 | |||
102 | mkimxboot-ppc: | ||
103 | $(MAKE) RBARCH=ppc | ||
104 | mv mkimxboot mkimxboot-ppc | ||
105 | |||
106 | mkimxboot-mac: mkimxboot-i386 mkimxboot-ppc | ||
107 | $(SILENT)lipo -create mkimxboot-ppc mkimxboot-i386 -output mkimxboot-mac | ||
108 | |||
109 | mkimxboot.dmg: mkimxboot-mac | ||
110 | mkdir -p mkimxboot-dmg | ||
111 | cp -p mkimxboot-mac mkimxboot-dmg | ||
112 | hdiutil create -srcfolder mkimxboot-dmg mkimxboot.dmg | ||