diff options
Diffstat (limited to 'rbutil/mktccboot')
-rw-r--r-- | rbutil/mktccboot/Makefile | 92 |
1 files changed, 10 insertions, 82 deletions
diff --git a/rbutil/mktccboot/Makefile b/rbutil/mktccboot/Makefile index b01f25dc3d..3bca0ba05e 100644 --- a/rbutil/mktccboot/Makefile +++ b/rbutil/mktccboot/Makefile | |||
@@ -8,98 +8,26 @@ | |||
8 | # | 8 | # |
9 | 9 | ||
10 | # We use the Telechips code available in the Rockbox tools/ directory | 10 | # We use the Telechips code available in the Rockbox tools/ directory |
11 | TOOLSDIR=../../tools | 11 | TOOLSDIR = ../../tools/ |
12 | CFLAGS := -O -g -W -Wall -Wshadow -pedantic -I$(TOOLSDIR) | 12 | CFLAGS := -O -g -W -Wall -Wshadow -pedantic -I$(TOOLSDIR) |
13 | 13 | ||
14 | ifndef V | 14 | OUTPUT = mktccboot |
15 | SILENT = @ | ||
16 | endif | ||
17 | 15 | ||
18 | ifeq ($(findstring CYGWIN,$(shell uname)),CYGWIN) | ||
19 | OUTPUT=mktccboot.exe | ||
20 | CFLAGS+=-mno-cygwin | ||
21 | else | ||
22 | ifeq ($(findstring MINGW,$(shell uname)),MINGW) | ||
23 | OUTPUT=mktccboot.exe | ||
24 | else | ||
25 | ifeq ($(findstring mingw,$(CC)),mingw) | ||
26 | OUTPUT=mktccboot.exe | ||
27 | else | ||
28 | OUTPUT=mktccboot | ||
29 | endif | ||
30 | endif | ||
31 | endif | ||
32 | |||
33 | ifdef RBARCH | ||
34 | CFLAGS += -arch $(RBARCH) | ||
35 | endif | ||
36 | |||
37 | TARGET_DIR ?= $(shell pwd)/ | ||
38 | OBJDIR = $(TARGET_DIR)build$(RBARCH) | ||
39 | |||
40 | all: $(OUTPUT) | ||
41 | 16 | ||
42 | # inputs | 17 | # inputs |
43 | LIBSOURCES := mktccboot.c $(TOOLSDIR)/telechips.o | 18 | LIBSOURCES := mktccboot.c $(TOOLSDIR)telechips.c |
44 | SOURCES := $(LIBSOURCES) main.c | 19 | SOURCES := $(LIBSOURCES) main.c |
45 | OBJS := $(patsubst %.c,%.o,$(addprefix $(OBJDIR)/,$(notdir $(SOURCES)))) | ||
46 | LIBOBJS := $(patsubst %.c,%.o,$(addprefix $(OBJDIR)/,$(notdir $(LIBSOURCES)))) | ||
47 | EXTRADEPS := | 20 | EXTRADEPS := |
48 | 21 | ||
49 | # rule for sources from tools dir | 22 | include ../libtools.make |
50 | $(OBJDIR)/%.o: $(TOOLSDIR)/%.c | ||
51 | @echo CC $< | ||
52 | $(SILENT)mkdir -p $(dir $@) | ||
53 | $(SILENT)$(CC) $(CFLAGS) -c -o $@ $< | ||
54 | 23 | ||
55 | $(OBJDIR)/%.o: %.c | 24 | # rule for sources from tools dir |
25 | # Rules go _after_ including mkboot.make to have OBJDIR set up correctly. | ||
26 | # Paths are assumed to end with a / | ||
27 | telechips.o: $(OBJDIR)telechips.o | ||
28 | $(OBJDIR)%.o: $(TOOLSDIR)%.c | ||
56 | @echo CC $< | 29 | @echo CC $< |
57 | $(SILENT)mkdir -p $(dir $@) | 30 | $(SILENT)mkdir -p $(dir $@) |
58 | $(SILENT)$(CC) $(CFLAGS) -c -o $@ $< | 31 | $(SILENT)$(CROSS)$(CC) $(CFLAGS) -c -o $@ $< |
59 | |||
60 | libmktccboot$(RBARCH).a: $(TARGET_DIR)libmktccboot$(RBARCH).a | ||
61 | |||
62 | $(TARGET_DIR)libmktccboot$(RBARCH).a: $(LIBOBJS) | ||
63 | @echo AR $(notdir $@) | ||
64 | $(SILENT)$(AR) rucs $@ $^ | ||
65 | |||
66 | # building the standalone executable | ||
67 | $(OUTPUT): $(OBJS) $(EXTRADEPS) | ||
68 | @echo LD $@ | ||
69 | $(SILENT)$(CC) $(CFLAGS) -o$(OUTPUT) $(OBJS) $(EXTRADEPS) | ||
70 | |||
71 | # some trickery to build ppc and i386 from a single call | ||
72 | ifeq ($(RBARCH),) | ||
73 | $(TARGET_DIR)libmktccbooti386.a: | ||
74 | make RBARCH=i386 TARGET_DIR=$(TARGET_DIR) libmktccbooti386.a | ||
75 | |||
76 | $(TARGET_DIR)libmktccbootppc.a: | ||
77 | make RBARCH=ppc TARGET_DIR=$(TARGET_DIR) libmktccbootppc.a | ||
78 | endif | ||
79 | |||
80 | libmktccboot-universal: $(TARGET_DIR)libmktccbooti386.a $(TARGET_DIR)libmktccbootppc.a | ||
81 | @echo lipo $(TARGET_DIR)libmktccboot.a | ||
82 | $(SILENT) rm -f $(TARGET_DIR)libmktccboot.a | ||
83 | $(SILENT)lipo -create $(TARGET_DIR)libmktccbootppc.a $(TARGET_DIR)libmktccbooti386.a -output $(TARGET_DIR)libmktccboot.a | ||
84 | |||
85 | clean: | ||
86 | rm -f $(OUTPUT) $(TARGET_DIR)libmktccboot*.a mktccboot.dmg | ||
87 | rm -rf $(OBJDIR) | ||
88 | |||
89 | mktccboot-i386: | ||
90 | $(MAKE) RBARCH=i386 | ||
91 | mv mktccboot mktccboot-i386 | ||
92 | |||
93 | mktccboot-ppc: | ||
94 | make RBARCH=ppc | ||
95 | mv mktccboot mktccboot-ppc | ||
96 | |||
97 | mktccboot-mac: mktccboot-i386 mktccboot-ppc | ||
98 | $(SILENT)lipo -create mktccboot-ppc mktccboot-i386 -output mktccboot-mac | ||
99 | |||
100 | mktccboot.dmg: mktccboot-mac | ||
101 | mkdir -p mktccboot-dmg | ||
102 | cp -p mktccboot-mac mktccboot-dmg | ||
103 | hdiutil create -srcfolder mktccboot-dmg mktccboot.dmg | ||
104 | 32 | ||
105 | 33 | ||