|
|
|
@ -1,6 +1,8 @@ |
|
|
|
|
|
|
|
|
|
# C++ version is more stable, but might be larger
|
|
|
|
|
USE_CXX_VERSION ?= 1
|
|
|
|
|
USE_CXX_VERSION ?= 0
|
|
|
|
|
# v2m-player submodule instead of fr_public
|
|
|
|
|
USE_CXX_CLEANUP_VERSION ?= 0
|
|
|
|
|
# you most likely want this
|
|
|
|
|
USE_RONAN ?= 1
|
|
|
|
|
|
|
|
|
@ -20,13 +22,17 @@ fr_public/README.md: |
|
|
|
|
@>&2 echo " git submodule update --init --recursive"
|
|
|
|
|
@false
|
|
|
|
|
|
|
|
|
|
CFLAGS := -m32
|
|
|
|
|
CFLAGS := -m32 -DNDEBUG -fno-asynchronous-unwind-tables -fno-stack-protector
|
|
|
|
|
ASFLAGS := -felf32
|
|
|
|
|
ifeq ($(USE_CXX_VERSION),0) |
|
|
|
|
CFLAGS += -I libv2/
|
|
|
|
|
else |
|
|
|
|
ifeq ($(USE_CXX_CLEANUP_VERSION),0) |
|
|
|
|
CFLAGS += -I libv2/ -DUSE_CXX_VERSION
|
|
|
|
|
else |
|
|
|
|
CFLAGS += -I v2m-player/src/ -DUSE_CXX_VERSION
|
|
|
|
|
endif |
|
|
|
|
endif |
|
|
|
|
ifneq ($(USE_RONAN),0) |
|
|
|
|
CFLAGS += -DRONAN
|
|
|
|
|
ASFLAGS += -DRONAN
|
|
|
|
@ -38,11 +44,20 @@ ASFLAGS += -g |
|
|
|
|
obj/lplayer.o: src/lplayer.cpp obj/ |
|
|
|
|
$(CXX) $(CFLAGS) -o "$@" -c "$<"
|
|
|
|
|
|
|
|
|
|
obj/v2mplayer.o: libv2/v2mplayer.cpp obj/ fr_public/README.md |
|
|
|
|
$(CXX) $(CFLAGS) -o "$@" -c "$<"
|
|
|
|
|
obj/synth.o: libv2/synth.asm obj/ fr_public/README.md |
|
|
|
|
$(NASM) $(ASFLAGS) -o "$@" "$<"
|
|
|
|
|
|
|
|
|
|
obj/v2mconv.o: libv2/v2mconv.cpp obj/ fr_public/README.md |
|
|
|
|
$(CXX) $(CFLAGS) -o "$@" -c "$<"
|
|
|
|
|
obj/v2mplayer.o: libv2/v2mplayer.cpp obj/ fr_public/README.md |
|
|
|
|
$(CXX) $(CFLAGS) -o "$@" -c "$<"
|
|
|
|
|
obj/ronan.o: libv2/ronan.cpp obj/ fr_public/README.md |
|
|
|
|
$(CXX) $(CFLAGS) -o "$@" -c "$<"
|
|
|
|
|
obj/synth_core.o: libv2/synth_core.cpp obj/ fr_public/README.md |
|
|
|
|
$(CXX) $(CFLAGS) -o "$@" -c "$<"
|
|
|
|
|
obj/sounddef.o: libv2/sounddef.cpp obj/ fr_public/README.md |
|
|
|
|
$(CXX) $(CFLAGS) -o "$@" -c "$<"
|
|
|
|
|
|
|
|
|
|
obj/pv2mconv.o: v2m-player/src/v2mconv.cpp obj/ v2m-player/README.md |
|
|
|
|
$(CXX) $(CFLAGS) -o "$@" -c "$<"
|
|
|
|
|
obj/pv2mplayer.o: v2m-player/src/v2mplayer.cpp obj/ v2m-player/README.md |
|
|
|
@ -64,10 +79,16 @@ obj/v2m-%.o: obj/v2m-%.asm |
|
|
|
|
$(NASM) -g -f elf32 -o "$@" "$<"
|
|
|
|
|
|
|
|
|
|
ifeq ($(USE_CXX_VERSION),0) |
|
|
|
|
bin/lplayer-%: obj/lplayer.o obj/synth.o obj/v2mplayer.o obj/v2m-%.o bin/ |
|
|
|
|
bin/lplayer-%: obj/lplayer.o obj/synth.o obj/ronan.o obj/v2mconv.o \
|
|
|
|
|
obj/v2mplayer.o obj/sounddef.o obj/v2m-%.o bin/
|
|
|
|
|
else |
|
|
|
|
ifeq ($(USE_CXX_CLEANUP_VERSION),0) |
|
|
|
|
bin/lplayer-%: obj/lplayer.o obj/synth_core.o obj/v2mconv.o obj/v2mplayer.o \
|
|
|
|
|
obj/ronan.o obj/sounddef.o obj/v2m-%.o bin/
|
|
|
|
|
else |
|
|
|
|
bin/lplayer-%: obj/lplayer.o obj/psynth_core.o obj/pv2mconv.o obj/pv2mplayer.o \
|
|
|
|
|
obj/pronan.o obj/psounddef.o obj/v2m-%.o bin/
|
|
|
|
|
endif |
|
|
|
|
endif |
|
|
|
|
$(CXX) -Wl,--gc-sections $(CFLAGS) -o "$@" $(filter-out bin/,$^)
|
|
|
|
|
|
|
|
|
|