Added missing launcher
[mupen64plus-pandora.git] / source / mupen64launcher / Makefile
CommitLineData
8b5037a6 1# Picklelauncher makefile
2
3PROGRAM = mupen64launcher
4LIB_ZIP = libunzip.a
5
6# Build type
7#BUILDTYPE = debug
8BUILDTYPE = release
9BUILDTARGET = PANDORA
10
11# Compiler flags
12CXXFLAGS ?= -g -Wall -Wextra -O3
13ZIP_CFLAGS = $(CXXFLAGS)
14# Linker flags
15BASE_LDFLAGS = -L$(LIBRARY) -lSDL_ttf -lSDL_image -lSDL
16ZIP_LDFLAGS = -L$(LIBRARY) -lz
17
18# Target compiler options
19ifeq ($(BUILDTARGET),PANDORA)
20PREFIX = /mnt/utmp/codeblocks
21TOOLS = usr/bin
22TARGET =
23INCLUDE = $(PREFIX)/usr/include
24LIBRARY = $(PREFIX)/usr/lib
25CXXFLAGS += -DPANDORA
26LDFLAGS = $(BASE_LDFLAGS) -lfreetype -ltiff -lpng12 -lz -ljpeg -lts
27else
28ifeq ($(BUILDTARGET),CAANOO)
29PREFIX = /data/devel/toolchains/caanoo/GPH_SDK
30TOOLS = tools/gcc-4.2.4-glibc-2.7-eabi/bin
31TARGET = arm-gph-linux-gnueabi-
32INCLUDE = $(PREFIX)/DGE/include
33LIBRARY = $(PREFIX)/DGE/lib/target
34CXXFLAGS += -DCAANOO
35LDFLAGS = $(BASE_LDFLAGS)
36else
37ifeq ($(BUILDTARGET),WIZ)
38PREFIX = /data/devel/toolchains/openwiz/arm-openwiz-linux-gnu
39TOOLS = bin
40TARGET = arm-openwiz-linux-gnu-
41INCLUDE = $(PREFIX)/include
42LIBRARY = $(PREFIX)/lib
43CXXFLAGS += -DWIZ
44LDFLAGS = $(BASE_LDFLAGS) -lfreetype -lz
45else
46ifeq ($(BUILDTARGET),GP2X)
47PREFIX = /data/devel/toolchains/open2x/gcc-4.1.1-glibc-2.3.6
48TOOLS = bin
49TARGET = arm-open2x-linux-
50INCLUDE = $(PREFIX)/include
51LIBRARY = $(PREFIX)/lib
52CXXFLAGS += -DGP2X
53LDFLAGS = -static $(BASE_LDFLAGS) -lfreetype -lz -lpng12 -lpthread -ldl
54else
55ifeq ($(BUILDTARGET),GCW)
56PREFIX = /data/devel/toolchains/gcw_mips/buildroot/output/host/usr
57TOOLS = bin
58TARGET = mipsel-gcw0-linux-uclibc-
59INCLUDE = $(PREFIX)/mipsel-gcw0-linux-uclibc/sysroot/usr/include
60LIBRARY = $(PREFIX)/mipsel-gcw0-linux-uclibc/sysroot/usr/lib
61CXXFLAGS += -DGCW
62LDFLAGS = $(BASE_LDFLAGS) -lz -lpthread
63else # default linux
64PREFIX = /usr
65TOOLS = bin
66TARGET =
67INCLUDE = $(PREFIX)/include
68LIBRARY = $(PREFIX)/lib
69LDFLAGS = $(BASE_LDFLAGS)
70endif
71endif
72endif
73endif
74endif
75
76# Assign includes
77CXXFLAGS += -I$(INCLUDE) -I$(INCLUDE)/SDL
78
79ifeq ($(BUILDTYPE),debug)
80CXXFLAGS += -DDEBUG
81endif
82
83# Source files
84SRCS = main.cpp cselector.cpp cprofile.cpp cconfig.cpp csystem.cpp czip.cpp cbase.cpp
85SRCS_ZIP = ioapi.c unzip.c
86
87# Assign paths to binaries/sources/objects
88BUILD = build
89SRCDIR = src
90SRCDIR_ZIP = $(SRCDIR)/unzip
91OBJDIR = $(BUILD)/objs/$(BUILDTYPE)
92
93SRCS := $(addprefix $(SRCDIR)/,$(SRCS))
94OBJS := $(addprefix $(OBJDIR)/,$(SRCS:.cpp=.o))
95SRCS_ZIP := $(addprefix $(SRCDIR_ZIP)/,$(SRCS_ZIP))
96OBJS_ZIP := $(addprefix $(OBJDIR)/,$(SRCS_ZIP:.c=.o))
97
98LIB_ZIP := $(addprefix $(OBJDIR)/,$(LIB_ZIP))
99PROGRAM := $(addprefix $(BUILD)/,$(PROGRAM))
100
101# Assign Tools
102CC = $(PREFIX)/$(TOOLS)/$(TARGET)gcc
103CXX = $(PREFIX)/$(TOOLS)/$(TARGET)g++
104AR = $(PREFIX)/$(TOOLS)/$(TARGET)ar
105
106# Build rules
107all : setup $(LIB_ZIP) $(PROGRAM)
108
109setup:
110 mkdir -p $(OBJDIR)/$(SRCDIR_ZIP)
111
112$(LIB_ZIP): $(OBJS_ZIP)
113 $(AR) rcs $(LIB_ZIP) $(OBJS_ZIP)
114
115$(PROGRAM): $(OBJS)
116 $(CXX) $(CXXFLAGS) -o $(PROGRAM) $(OBJS) $(LIB_ZIP) $(LDFLAGS)
117
118$(OBJDIR)/$(SRCDIR_ZIP)/%.o: $(SRCDIR_ZIP)/%.c
119 $(CC) $(ZIP_CFLAGS) -c $< -o $@
120
121$(OBJDIR)/$(SRCDIR)/%.o: $(SRCDIR)/%.cpp
122 $(CXX) $(CXXFLAGS) -c $< -o $@
123
124clean:
125 rm -f $(PROGRAM) $(OBJS) $(LIB_ZIP) $(OBJS_ZIP)