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
)
20 ifeq ($(findstring CYGWIN
,$(shell uname
)),CYGWIN
)
24 ifeq ($(findstring MINGW
,$(shell uname
)),MINGW
)
27 ifeq ($(findstring mingw
,$(CC
)),mingw
)
36 CFLAGS
+= -arch
$(RBARCH
)
39 OUT
= $(TARGET_DIR
)build
$(RBARCH
)
44 LIBSOURCES
:= mktccboot.c
$(TOOLSDIR
)/telechips.o
45 SOURCES
:= $(LIBSOURCES
) main.c
46 OBJS
:= $(patsubst %.c
,%.o
,$(addprefix $(OUT
)/,$(notdir $(SOURCES
))))
47 LIBOBJS
:= $(patsubst %.c
,%.o
,$(addprefix $(OUT
)/,$(notdir $(LIBSOURCES
))))
50 # rule for sources from tools dir
51 $(OUT
)/%.o
: $(TOOLSDIR
)/%.c
$(OUT
)
53 $(SILENT
)$(CC
) $(CFLAGS
) -c
-o
$@
$<
55 $(OUT
)/%.o
: %.c
$(OUT
)
57 $(SILENT
)$(CC
) $(CFLAGS
) -c
-o
$@
$<
59 # building the library archive
60 $(OUT
)/libmktccboot.o
: $(OUT
)/mktccboot.o
62 $(SILENT
)$(CC
) $(CFLAGS
) -DLIB
-c
-o
$(OUT
)/libmktccboot.o
-W
-Wall mktccboot.c
64 libmktccboot
$(RBARCH
).a
: $(LIBOBJS
)
66 $(SILENT
)$(AR
) ruc
$(TARGET_DIR
)$@
$^
68 # building the standalone executable
69 $(OUTPUT
): $(OBJS
) $(EXTRADEPS
)
71 $(SILENT
)$(CC
) $(CFLAGS
) -o
$(OUTPUT
) $(OBJS
) $(EXTRADEPS
)
73 # some trickery to build ppc and i386 from a single call
76 make RBARCH
=i386 TARGET_DIR
=$(TARGET_DIR
) libmktccbooti386.a
79 make RBARCH
=ppc TARGET_DIR
=$(TARGET_DIR
) libmktccbootppc.a
82 libmktccboot-universal
: libmktccbooti386.a libmktccbootppc.a
83 @echo lipo
$(TARGET_DIR
)libmktccboot.a
84 $(SILENT
) rm -f
$(TARGET_DIR
)libmktccboot.a
85 lipo
-create
$(TARGET_DIR
)libmktccbootppc.a
$(TARGET_DIR
)libmktccbooti386.a
-output
$(TARGET_DIR
)libmktccboot.a
88 rm -f
$(OUTPUT
) $(TARGET_DIR
)libmktccboot
*.a mktccboot.dmg
93 mv mktccboot mktccboot-i386
97 mv mktccboot mktccboot-ppc
99 mktccboot-mac
: mktccboot-i386 mktccboot-ppc
100 lipo
-create mktccboot-ppc mktccboot-i386
-output mktccboot-mac
102 mktccboot.dmg
: mktccboot-mac
103 mkdir
-p mktccboot-dmg
104 cp
-p mktccboot-mac mktccboot-dmg
105 hdiutil create
-srcfolder mktccboot-dmg mktccboot.dmg
109 $(SILENT
)mkdir
$(OUT
)