1 # Picklelauncher makefile
3 PROGRAM = mupen64launcher
12 CXXFLAGS ?= -g -Wall -Wextra -O3
13 ZIP_CFLAGS = $(CXXFLAGS)
15 BASE_LDFLAGS = -L$(LIBRARY) -lSDL_ttf -lSDL_image -lSDL
16 ZIP_LDFLAGS = -L$(LIBRARY) -lz
18 # Target compiler options
19 ifeq ($(BUILDTARGET),PANDORA)
20 PREFIX = /mnt/utmp/codeblocks
23 INCLUDE = $(PREFIX)/usr/include
24 LIBRARY = $(PREFIX)/usr/lib
26 LDFLAGS = $(BASE_LDFLAGS) -lfreetype -ltiff -lpng12 -lz -ljpeg -lts
28 ifeq ($(BUILDTARGET),CAANOO)
29 PREFIX = /data/devel/toolchains/caanoo/GPH_SDK
30 TOOLS = tools/gcc-4.2.4-glibc-2.7-eabi/bin
31 TARGET = arm-gph-linux-gnueabi-
32 INCLUDE = $(PREFIX)/DGE/include
33 LIBRARY = $(PREFIX)/DGE/lib/target
35 LDFLAGS = $(BASE_LDFLAGS)
37 ifeq ($(BUILDTARGET),WIZ)
38 PREFIX = /data/devel/toolchains/openwiz/arm-openwiz-linux-gnu
40 TARGET = arm-openwiz-linux-gnu-
41 INCLUDE = $(PREFIX)/include
42 LIBRARY = $(PREFIX)/lib
44 LDFLAGS = $(BASE_LDFLAGS) -lfreetype -lz
46 ifeq ($(BUILDTARGET),GP2X)
47 PREFIX = /data/devel/toolchains/open2x/gcc-4.1.1-glibc-2.3.6
49 TARGET = arm-open2x-linux-
50 INCLUDE = $(PREFIX)/include
51 LIBRARY = $(PREFIX)/lib
53 LDFLAGS = -static $(BASE_LDFLAGS) -lfreetype -lz -lpng12 -lpthread -ldl
55 ifeq ($(BUILDTARGET),GCW)
56 PREFIX = /data/devel/toolchains/gcw_mips/buildroot/output/host/usr
58 TARGET = mipsel-gcw0-linux-uclibc-
59 INCLUDE = $(PREFIX)/mipsel-gcw0-linux-uclibc/sysroot/usr/include
60 LIBRARY = $(PREFIX)/mipsel-gcw0-linux-uclibc/sysroot/usr/lib
62 LDFLAGS = $(BASE_LDFLAGS) -lz -lpthread
67 INCLUDE = $(PREFIX)/include
68 LIBRARY = $(PREFIX)/lib
69 LDFLAGS = $(BASE_LDFLAGS)
77 CXXFLAGS += -I$(INCLUDE) -I$(INCLUDE)/SDL
79 ifeq ($(BUILDTYPE),debug)
84 SRCS = main.cpp cselector.cpp cprofile.cpp cconfig.cpp csystem.cpp czip.cpp cbase.cpp
85 SRCS_ZIP = ioapi.c unzip.c
87 # Assign paths to binaries/sources/objects
90 SRCDIR_ZIP = $(SRCDIR)/unzip
91 OBJDIR = $(BUILD)/objs/$(BUILDTYPE)
93 SRCS := $(addprefix $(SRCDIR)/,$(SRCS))
94 OBJS := $(addprefix $(OBJDIR)/,$(SRCS:.cpp=.o))
95 SRCS_ZIP := $(addprefix $(SRCDIR_ZIP)/,$(SRCS_ZIP))
96 OBJS_ZIP := $(addprefix $(OBJDIR)/,$(SRCS_ZIP:.c=.o))
98 LIB_ZIP := $(addprefix $(OBJDIR)/,$(LIB_ZIP))
99 PROGRAM := $(addprefix $(BUILD)/,$(PROGRAM))
102 CC = $(PREFIX)/$(TOOLS)/$(TARGET)gcc
103 CXX = $(PREFIX)/$(TOOLS)/$(TARGET)g++
104 AR = $(PREFIX)/$(TOOLS)/$(TARGET)ar
107 all : setup $(LIB_ZIP) $(PROGRAM)
110 mkdir -p $(OBJDIR)/$(SRCDIR_ZIP)
112 $(LIB_ZIP): $(OBJS_ZIP)
113 $(AR) rcs $(LIB_ZIP) $(OBJS_ZIP)
116 $(CXX) $(CXXFLAGS) -o $(PROGRAM) $(OBJS) $(LIB_ZIP) $(LDFLAGS)
118 $(OBJDIR)/$(SRCDIR_ZIP)/%.o: $(SRCDIR_ZIP)/%.c
119 $(CC) $(ZIP_CFLAGS) -c $< -o $@
121 $(OBJDIR)/$(SRCDIR)/%.o: $(SRCDIR)/%.cpp
122 $(CXX) $(CXXFLAGS) -c $< -o $@
125 rm -f $(PROGRAM) $(OBJS) $(LIB_ZIP) $(OBJS_ZIP)