forked from KS-Presto/Wolf4SDL
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile.dc
55 lines (46 loc) · 2.68 KB
/
Makefile.dc
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
######################################################################
# DreanWolf/SDL DC update #
######################################################################
# #
# Makefile (c)2020 from Ian Micheal #
# Updated to Wolf4SDL 2.2 by André Guilherme #
# #
######################################################################
# Files ---------------------------------------------------------------------------
#
TARGET = Wolf4SDL.elf
BIN = Wolf4SDL.bin
FIRSTREAD = wolf3d_scr.bin
# Optimize -------------------------------------------------------------------------
OPT= -O3 -Wall -ffast-math
# Defines -------------------------------------------------------------------------
KOS_LOCAL_CFLAGS = -DDREAMCAST -DMAX_MEM_LEVEL -DSDL -DLSB_FIRST -DALIGN_LONG -DINLINE -DDC -DUCHAR_MAX=0xff -DUSHRT_MAX=0xffff -DULONG_MAX=0xffffffff -DUSE_DATADIR
KOS_CFLAGS += $(OPT)
# Files ---------------------------------------------------------------------------
OBJS = Platform/dc/dc_main.o Platform/dc/dc_vmu.o aud_sys/dosbox/dbopl.o aud_sys/mame/fmopl.o aud_sys/nukedopl3/opl3.o id_ca.o id_crt.o id_haptic.o id_in.o id_pm.o id_sd.o id_opl.o id_udp.o id_us.o id_vh.o id_vieasm.o id_vl.o id_w3swrap.o psnprntf.o signon.o wl_act1.o wl_act2.o wl_agent.o wl_atmos.o wl_cloudsky.o wl_debug.o wl_draw.o wl_game.o wl_inter.o wl_main.o wl_menu.o wl_parallax.o wl_plane.o wl_play.o wl_scale.o wl_shade.o wl_state.o wl_text.o wl_utils.o
KOS_CFLAGS += -I${KOS_BASE}/../kos-ports/include/SDL -I./
all: rm-elf $(TARGET)
# Base ----------------------------------------------------------------------------
include $(KOS_BASE)/Makefile.rules
clean:
-rm -f $(TARGET) $(BIN) $(FIRSTREAD) $(OBJS) romdisk.*
rm-elf:
-rm -f $(TARGET) romdisk.*
# Link ----------------------------------------------------------------------------
$(TARGET): $(OBJS) romdisk.o
$(KOS_CC) $(KOS_CFLAGS) $(KOS_LDFLAGS) -o $(TARGET) $(KOS_START) \
$(OBJS) romdisk.o $(OBJEXTRA) -L$(KOS_BASE)/lib -lSDL_mixer_126 -lSDL_129 -lz_123 -lm $(KOS_LIBS)
# ROM Disk Creation ---------------------------------------------------------------
romdisk.img:
$(KOS_GENROMFS) -f romdisk.img -d romdisk -v
romdisk.o: romdisk.img
$(KOS_BASE)/utils/bin2o/bin2o romdisk.img romdisk romdisk.o
run: $(TARGET)
$(KOS_LOADER) $(TARGET)
# ELF2BIN ---------------------------------------------------------------------------
dist:
rm -f $(OBJS) romdisk.o romdisk.img
$(KOS_STRIP) $(TARGET)
$(KOS_CC_BASE)/bin/sh-elf-objcopy -O binary $(TARGET) $(BIN)
$(KOS_CC_BASE)/bin/sh-elf-scramble $(BIN) $(FIRSTREAD)
cp $(FIRSTREAD) 1st_read.bin