2 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 # We use the Telechips code available in the Rockbox tools/ directory
12 CFLAGS
:= -O
-g
-W
-Wall
-Wshadow
-pedantic
-I
$(TOOLSDIR
)
18 ifeq ($(findstring CYGWIN
,$(shell uname
)),CYGWIN
)
22 ifeq ($(findstring MINGW
,$(shell uname
)),MINGW
)
25 ifeq ($(findstring mingw
,$(CC
)),mingw
)
34 CFLAGS
+= -arch
$(RBARCH
)
37 OUT
= $(TARGET_DIR
)build
$(RBARCH
)
42 LIBSOURCES
:= mktccboot.c
$(TOOLSDIR
)/telechips.o
43 SOURCES
:= $(LIBSOURCES
) main.c
44 OBJS
:= $(patsubst %.c
,%.o
,$(addprefix $(OUT
)/,$(notdir $(SOURCES
))))
45 LIBOBJS
:= $(patsubst %.c
,%.o
,$(addprefix $(OUT
)/,$(notdir $(LIBSOURCES
))))
48 # rule for sources from tools dir
49 $(OUT
)/%.o
: $(TOOLSDIR
)/%.c
$(OUT
)
51 $(SILENT
)$(CC
) $(CFLAGS
) -c
-o
$@
$<
53 $(OUT
)/%.o
: %.c
$(OUT
)
55 $(SILENT
)$(CC
) $(CFLAGS
) -c
-o
$@
$<
57 libmktccboot
$(RBARCH
).a
: $(LIBOBJS
)
59 $(SILENT
)$(AR
) ruc
$(TARGET_DIR
)$@
$^
61 # building the standalone executable
62 $(OUTPUT
): $(OBJS
) $(EXTRADEPS
)
64 $(SILENT
)$(CC
) $(CFLAGS
) -o
$(OUTPUT
) $(OBJS
) $(EXTRADEPS
)
66 # some trickery to build ppc and i386 from a single call
68 $(TARGET_DIR
)libmktccbooti386.a
:
69 make RBARCH
=i386 TARGET_DIR
=$(TARGET_DIR
) libmktccbooti386.a
71 $(TARGET_DIR
)libmktccbootppc.a
:
72 make RBARCH
=ppc TARGET_DIR
=$(TARGET_DIR
) libmktccbootppc.a
75 libmktccboot-universal
: $(TARGET_DIR
)libmktccbooti386.a
$(TARGET_DIR
)libmktccbootppc.a
76 @echo lipo
$(TARGET_DIR
)libmktccboot.a
77 $(SILENT
) rm -f
$(TARGET_DIR
)libmktccboot.a
78 $(SILENT
)lipo
-create
$(TARGET_DIR
)libmktccbootppc.a
$(TARGET_DIR
)libmktccbooti386.a
-output
$(TARGET_DIR
)libmktccboot.a
81 rm -f
$(OUTPUT
) $(TARGET_DIR
)libmktccboot
*.a mktccboot.dmg
86 mv mktccboot mktccboot-i386
90 mv mktccboot mktccboot-ppc
92 mktccboot-mac
: mktccboot-i386 mktccboot-ppc
93 $(SILENT
)lipo
-create mktccboot-ppc mktccboot-i386
-output mktccboot-mac
95 mktccboot.dmg
: mktccboot-mac
96 mkdir
-p mktccboot-dmg
97 cp
-p mktccboot-mac mktccboot-dmg
98 hdiutil create
-srcfolder mktccboot-dmg mktccboot.dmg
102 $(SILENT
)mkdir
$(OUT
)