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
|
#
# Makefile for vio2play, cheesy Linux hack version
#
CC = gcc
CPP = g++
CFLAGS = -c -O3
# attempt 64-bit autodetect
ifeq ($(MACHTYPE),x86_64)
CFLAGS += -DLONG_IS_64BIT=1
else
ifdef BUILD64
CFLAGS += -DLONG_IS_64BIT=1
endif
endif
CFLAGS += -DLSB_FIRST=1 # disable this for big-endian builds!
CFLAGS += -Ivio2sf -Ivio2sf/desmume -Ivio2sf/zlib -D_strnicmp=strncasecmp
CPPFLAGS = -Wno-deprecated -fno-rtti
EXE = vio2play
LIBS = -lm -lasound
OBJS = main.o oss.o corlett.o
# actual vio2sf / Desmume code
OBJS += vio2sf/vio2sf.o vio2sf/desmume/armcpu.o vio2sf/desmume/arm_instructions.o vio2sf/desmume/bios.o vio2sf/desmume/cp15.o
OBJS += vio2sf/desmume/FIFO.o vio2sf/desmume/GPU.o vio2sf/desmume/matrix.o vio2sf/desmume/mc.o vio2sf/desmume/MMU.o
OBJS += vio2sf/desmume/NDSSystem.o vio2sf/desmume/SPU.o vio2sf/desmume/thumb_instructions.o
OBJS += vio2sf/zlib/adler32.o vio2sf/zlib/crc32.o vio2sf/zlib/infback.o vio2sf/zlib/inffast.o vio2sf/zlib/inflate.o
OBJS += vio2sf/zlib/inftrees.o vio2sf/zlib/uncompr.o vio2sf/zlib/zutil.o
# build rules
%.o: %.c
@echo Compiling $<...
@$(CC) $(CFLAGS) $< -o $@
%.o: %.cpp
@echo Compiling $<...
@$(CC) $(CFLAGS) $(CPPFLAGS) $< -o $@
all: $(EXE)
# link the commandline exe
$(EXE): $(OBJS)
@echo Linking $@...
@$(CPP) -g -s -o $(EXE) $^ $(LIBS)
clean:
-@rm -f $(OBJS) $(EXE)
|