mktccboot: Remove excessive use of defines in Makefile
[kugel-rb.git] / rbutil / mktccboot / Makefile
blob3f23e044d66736c7361e9c1f97c60e0d71b7b049
1 # __________ __ ___.
2 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6 # \/ \/ \/ \/ \/
7 # $Id$
10 # We use the Telechips code available in the Rockbox tools/ directory
11 TOOLSDIR=../../tools
12 CFLAGS := -O -g -W -Wall -Wshadow -pedantic -I$(TOOLSDIR)
14 CC = gcc
16 # Change for releases
17 ifndef APPVERSION
18 APPVERSION=`$(TOOLSDIR)/version.sh`
19 endif
21 ifndef V
22 SILENT = @
23 endif
25 ifeq ($(findstring CYGWIN,$(shell uname)),CYGWIN)
26 OUTPUT=mktccboot.exe
27 CFLAGS+=-mno-cygwin
28 else
29 ifeq ($(findstring MINGW,$(shell uname)),MINGW)
30 OUTPUT=mktccboot.exe
31 else
32 ifeq ($(findstring mingw,$(CC)),mingw)
33 OUTPUT=mktccboot.exe
34 else
35 OUTPUT=mktccboot
36 endif
37 endif
38 endif
40 ifdef RBARCH
41 CFLAGS += -arch $(RBARCH)
42 endif
44 OUT = $(TARGET_DIR)build$(RBARCH)
46 all: $(OUTPUT)
48 $(TOOLSDIR)/telechips.o: $(TOOLSDIR)/telechips.[ch]
49 make -C $(TOOLSDIR) $(TARGET_DIR)telechips.o
51 $(OUT)/mktccboot.o: mktccboot.[ch] $(TOOLSDIR)/telechips.o
52 @echo CC $<
53 $(SILENT)$(CC) $(CFLAGS) -c -o $(OUT)/mktccboot.o -W -Wall mktccboot.c -DVERSION=\"$(APPVERSION)\"
55 $(OUTPUT): $(OUT) $(OUT)/mktccboot.o
56 @echo CC $<
57 $(SILENT)$(CC) $(CFLAGS) -o $(OUTPUT) $(OUT)/mktccboot.o $(TOOLSDIR)/telechips.o
59 $(OUT)/libmktccboot.o: $(OUT)/mktccboot.o
60 @echo CC $<
61 $(SILENT)$(CC) $(CFLAGS) -DLIB -c -o $(OUT)/libmktccboot.o -W -Wall mktccboot.c
63 libmktccboot$(RBARCH).a: $(OUT) $(OUT)/libmktccboot.o
64 @echo AR $@
65 $(SILENT)$(AR) ruc $(TARGET_DIR)libmktccboot$(RBARCH).a $(OUT)/libmktccboot.o
67 # some trickery to build ppc and i386 from a single call
68 ifeq ($(RBARCH),)
69 libmktccbooti386.a:
70 make RBARCH=i386 TARGET_DIR=$(TARGET_DIR) libmktccbooti386.a
72 libmktccbootppc.a:
73 make RBARCH=ppc TARGET_DIR=$(TARGET_DIR) libmktccbootppc.a
74 endif
76 libmktccboot-universal: libmktccbooti386.a libmktccbootppc.a
77 @echo lipo $(TARGET_DIR)libmktccboot.a
78 $(SILENT) rm -f $(TARGET_DIR)libmktccboot.a
79 lipo -create $(TARGET_DIR)libmktccbootppc.a $(TARGET_DIR)libmktccbooti386.a -output $(TARGET_DIR)libmktccboot.a
81 clean:
82 rm -f $(OUTPUT) libmktccboot.o $(TARGET_DIR)libmktccboot*.a mktccboot.dmg
83 rm -f $(TOOLSDIR)/telechips.o
84 rm -rf build* mktccboot-*
86 mktccboot-i386:
87 $(MAKE) RBARCH=i386
88 mv mktccboot mktccboot-i386
90 mktccboot-ppc:
91 make RBARCH=ppc
92 mv mktccboot mktccboot-ppc
94 mktccboot-mac: mktccboot-i386 mktccboot-ppc
95 lipo -create mktccboot-ppc mktccboot-i386 -output mktccboot-mac
97 mktccboot.dmg: mktccboot-mac
98 mkdir -p mktccboot-dmg
99 cp -p mktccboot-mac mktccboot-dmg
100 hdiutil create -srcfolder mktccboot-dmg mktccboot.dmg
102 $(OUT):
103 @echo MKDIR $(OUT)
104 $(SILENT)mkdir $(OUT)