summaryrefslogtreecommitdiff
path: root/rbutil/mkmpioboot/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/mkmpioboot/Makefile')
-rw-r--r--rbutil/mkmpioboot/Makefile98
1 files changed, 8 insertions, 90 deletions
diff --git a/rbutil/mkmpioboot/Makefile b/rbutil/mkmpioboot/Makefile
index 8077bdceb6..8b560d6b29 100644
--- a/rbutil/mkmpioboot/Makefile
+++ b/rbutil/mkmpioboot/Makefile
@@ -5,101 +5,19 @@
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/ 6# \/ \/ \/ \/ \/
7 7
8#change for releases 8TARGET_DIR ?= $(shell pwd)/
9ifndef APPVERSION
10APPVERSION=`../../tools/version.sh ../../`
11endif
12
13# We use the UCL code available in the Rockbox tools/ directory 9# We use the UCL code available in the Rockbox tools/ directory
14CFLAGS=-I../../tools/ucl/include -Wall -DVERSION=\"$(APPVERSION)\" 10CFLAGS = -I../../tools/ucl/include -Wall
15
16ifndef V
17SILENT = @
18endif
19
20ifeq ($(findstring CYGWIN,$(shell uname)),CYGWIN)
21OUTPUT=mkmpioboot.exe
22CFLAGS+=-mno-cygwin
23else
24ifeq ($(findstring MINGW,$(shell uname)),MINGW)
25OUTPUT=mkmpioboot.exe
26else
27ifeq ($(findstring mingw,$(CC)),mingw)
28OUTPUT=mkmpioboot.exe
29else
30OUTPUT=mkmpioboot
31endif
32endif
33endif
34
35ifdef RBARCH
36CFLAGS += -arch $(RBARCH)
37OBJDIR = $(TARGET_DIR)build/$(RBARCH)/
38else
39OBJDIR = $(TARGET_DIR)build/
40endif
41
42TARGET_DIR ?= $(shell pwd)
43 11
44all: $(OUTPUT) 12OUTPUT = mkmpioboot
45 13
46# inputs 14# inputs
47LIBSOURCES := mkmpioboot.c 15LIBSOURCES = mkmpioboot.c
48SOURCES := $(LIBSOURCES) main.c 16SOURCES = $(LIBSOURCES) main.c
49OBJS := $(patsubst %.c,%.o,$(addprefix $(OBJDIR),$(SOURCES))) 17EXTRADEPS = $(LIBUCL)
50LIBOBJS := $(patsubst %.c,%.o,$(addprefix $(OBJDIR),$(LIBSOURCES))) 18
51EXTRADEPS := $(LIBUCL) 19include ../libtools.make
52 20
53# explicit dependencies 21# explicit dependencies
54$(OBJDIR)mkmpioboot.o: mkmpioboot.c mkmpioboot.h 22$(OBJDIR)mkmpioboot.o: mkmpioboot.c mkmpioboot.h
55$(OBJDIR)main.o: main.c
56
57$(OBJDIR)%.o: %.c
58 @echo CC $< $
59 $(SILENT)mkdir -p $(dir $@)
60 $(SILENT)$(CC) $(CFLAGS) -c -o $@ $<
61
62libmkmpioboot$(RBARCH).a: $(TARGET_DIR)libmkmpioboot$(RBARCH).a
63
64$(TARGET_DIR)libmkmpioboot$(RBARCH).a: $(LIBOBJS)
65 @echo AR $(notdir $@)
66 $(SILENT)$(AR) rucs $@ $^
67
68# building the standalone executable
69$(OUTPUT): $(OBJS) $(EXTRADEPS)
70 @echo LD $@
71 $(SILENT)$(CC) $(CFLAGS) -o $(OUTPUT) $(OBJS) $(EXTRADEPS)
72
73# some trickery to build ppc and i386 from a single call
74ifeq ($(RBARCH),)
75$(TARGET_DIR)libmkmpiobooti386.a:
76 make RBARCH=i386 TARGET_DIR=$(TARGET_DIR) libmkmpiobooti386.a
77
78$(TARGET_DIR)libmkmpiobootppc.a:
79 make RBARCH=ppc TARGET_DIR=$(TARGET_DIR) libmkmpiobootppc.a
80endif
81
82libmkmpioboot-universal: $(TARGET_DIR)libmkmpiobooti386.a $(TARGET_DIR)libmkmpiobootppc.a
83 @echo lipo $(TARGET_DIR)libmkmpioboot.a
84 $(SILENT) rm -f $(TARGET_DIR)libmkmpioboot.a
85 $(SILENT)lipo -create $(TARGET_DIR)libmkmpiobootppc.a $(TARGET_DIR)libmkmpiobooti386.a -output $(TARGET_DIR)libmkmpioboot.a
86
87clean:
88 rm -f $(OBJS) $(OUTPUT) $(TARGET_DIR)libmkmpioboot*.a mkmpioboot.dmg
89 rm -rf mkmpioboot-* i386 ppc $(OBJDIR)
90
91mkmpioboot-i386:
92 $(MAKE) RBARCH=i386
93 mv mkmpioboot mkmpioboot-i386
94
95mkmpioboot-ppc:
96 $(MAKE) RBARCH=ppc
97 mv mkmpioboot mkmpioboot-ppc
98
99mkmpioboot-mac: mkmpioboot-i386 mkmpioboot-ppc
100 $(SILENT)lipo -create mkmpioboot-ppc mkmpioboot-i386 -output mkmpioboot-mac
101 23
102mkmpioboot.dmg: mkmpioboot-mac
103 mkdir -p mkmpioboot-dmg
104 cp -p mkmpioboot-mac mkmpioboot-dmg
105 hdiutil create -srcfolder mkmpioboot-dmg mkmpioboot.dmg