summaryrefslogtreecommitdiff
path: root/src/Makefile.wiz.OpenWiz
blob: 49506758ed0971630c60f80267bb559ce64bdeb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
COPT = -mcpu=arm926ej-s -mtune=arm926ej-s -g -O3 -static -D__WIZ__ -DUSE_SA1
COPT += -ffast-math -fexpensive-optimizations -finline -finline-functions -msoft-float
# -msoft-float 
COPT += -falign-functions=32 -falign-loops -falign-labels -falign-jumps -fomit-frame-pointer
SDK = /opt/openwiz/toolchain/arm-openwiz-linux-gnu
TOOLS = $(SDK)/bin
ARCH = arm-openwiz-linux-gnu-
GCC = $(TOOLS)/$(ARCH)gcc
STRIP = $(TOOLS)/$(ARCH)strip
ADSASM = $(TOOLS)/$(ARCH)as
COPT += -I$(SDK)/include
COPT += -L$(SDK)/lib
#
# SNES stuff (c-based)
#
OBJS = memset.o memcpy.o 2xsaiwin.o apu.o c4.o c4emu.o cheats.o cheats2.o clip.o cpu.o cpuexec.o data.o 
OBJS += dma.o dsp1.o fxemu.o fxinst.o gfx.o globals.o loadzip.o memmap.o ppu.o sa1.o sa1cpu.o
OBJS += sdd1.o sdd1emu.o snapshot.o soundux.o spc700.o spc700a.o srtc.o tile.o usbjoy.o cpuops.o os9x_asm_cpu.o
#
# and some asm from LJP...
#
OBJS += m3d_func.o
#
# Dave's minimal SDK
#
OBJS += wiz_sdk.o warm.o menu.o input.o gp2x_menutile.o gp2x_highlightbar.o \
	gp2x_menu_header.o unzip.o ioapi.o squidgehack.o zip.o asm_util.o pollux_set.o

#
# and the glue code that sticks it all together :)
#
OBJS += main.o

# Inopia's menu system, hacked for the GP2X under rlyeh's sdk
PRELIBS = -lpthread -lz $(LIBS)

all: pocketsnes.gpe
clean: tidy pocketsnes.gpe

.c.o:
	$(GCC) $(COPT) -c $< -o $@

.cpp.o:
	$(GCC) $(COPT) -c $< -o $@

# make seems to lowercase the extensions, so files with '.S' end up being passed to the compiler as '.s', which means thousands of errors.
# this is a small workaround. 

spc700a.o: spc700a.s
	$(GCC) $(COPT) -c $< -o $@

os9x_65c816.o: os9x_65c816.s
	$(GCC) $(COPT) -c $< -o $@

osnes9xgp_asmfunc.o: osnes9xgp_asmfunc.s
	$(GCC) $(COPT) -c $< -o $@

m3d_func.o: m3d_func.S
	$(GCC) $(COPT) -c $< -o $@

spc_decode.o: spc_decode.s
	$(GCC) $(COPT) -c $< -o $@

memset.o: memset.s
	$(GCC) $(COPT) -c $< -o $@

memcpy.o: memcpy.s
	$(GCC) $(COPT) -c $< -o $@

dspMixer.o: dspMixer.s
	$(GCC) $(COPT) -c $< -o $@

asm_util.o: asm_util.S
	$(GCC) $(COPT) -c $< -o $@

pocketsnesd.gpe: $(OBJS)
	$(GCC) $(COPT) $(OBJS) $(PRELIBS) -o $@ -lstdc++ -lm

pocketsnes.gpe: pocketsnesd.gpe
	$(STRIP) pocketsnesd.gpe -o pocketsnes_wiz.gpe
tidy:
	rm *.o