2020-12-03 14:26:38 -05:00
|
|
|
include ../util.mk
|
|
|
|
|
|
|
|
|
|
HOST_ENV := $(shell uname 2>/dev/null || echo Unknown)
|
|
|
|
|
HOST_ENV := $(patsubst MINGW%,MinGW,$(HOST_ENV))
|
|
|
|
|
|
|
|
|
|
CC := gcc
|
|
|
|
|
CXX := g++
|
2021-07-12 14:41:23 +01:00
|
|
|
CFLAGS := -I. -O2 -s
|
2020-12-03 14:26:38 -05:00
|
|
|
LDFLAGS := -lm
|
2023-08-29 10:06:41 -04:00
|
|
|
ALL_PROGRAMS := armips filesizer rncpack n64graphics n64graphics_ci mio0 slienc n64cksum textconv aifc_decode aiff_extract_codebook vadpcm_enc tabledesign extract_data_for_mio skyconv flips
|
2020-12-03 14:26:38 -05:00
|
|
|
LIBAUDIOFILE := audiofile/libaudiofile.a
|
2020-06-02 12:44:34 -04:00
|
|
|
|
2024-07-02 09:45:36 +08:00
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
|
EXT := .exe
|
|
|
|
|
OUTPUTS := $(ALL_PROGRAMS:=.exe)
|
|
|
|
|
else
|
|
|
|
|
EXT :=
|
|
|
|
|
OUTPUTS := $(ALL_PROGRAMS)
|
|
|
|
|
endif
|
|
|
|
|
|
2020-12-03 14:26:38 -05:00
|
|
|
# Only build armips from tools if it is not found on the system
|
|
|
|
|
ifeq ($(call find-command,armips),)
|
|
|
|
|
BUILD_PROGRAMS := $(ALL_PROGRAMS)
|
|
|
|
|
else
|
|
|
|
|
BUILD_PROGRAMS := $(filter-out armips,$(ALL_PROGRAMS))
|
2020-06-17 22:14:59 -04:00
|
|
|
endif
|
|
|
|
|
|
2020-06-02 12:44:34 -04:00
|
|
|
default: all
|
|
|
|
|
|
2021-01-04 00:44:54 -05:00
|
|
|
filesizer_SOURCES := filesizer.c
|
|
|
|
|
|
2021-01-25 22:21:15 -05:00
|
|
|
rncpack_SOURCES := rncpack.c
|
|
|
|
|
|
2019-08-25 00:46:40 -04:00
|
|
|
n64graphics_SOURCES := n64graphics.c utils.c
|
|
|
|
|
n64graphics_CFLAGS := -DN64GRAPHICS_STANDALONE
|
|
|
|
|
|
|
|
|
|
n64graphics_ci_SOURCES := n64graphics_ci_dir/n64graphics_ci.c n64graphics_ci_dir/exoquant/exoquant.c n64graphics_ci_dir/utils.c
|
|
|
|
|
|
|
|
|
|
mio0_SOURCES := libmio0.c
|
2020-12-03 14:26:38 -05:00
|
|
|
mio0_CFLAGS := -DMIO0_STANDALONE
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2020-12-03 20:19:03 -05:00
|
|
|
slienc_SOURCES := slienc.c
|
|
|
|
|
slienc_CFLAGS :=
|
|
|
|
|
|
2020-06-02 12:44:34 -04:00
|
|
|
n64cksum_SOURCES := n64cksum.c utils.c
|
2020-12-03 14:26:38 -05:00
|
|
|
n64cksum_CFLAGS := -DN64CKSUM_STANDALONE
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
textconv_SOURCES := textconv.c utf8.c hashtable.c
|
2020-12-03 14:26:38 -05:00
|
|
|
|
2019-08-25 00:46:40 -04:00
|
|
|
aifc_decode_SOURCES := aifc_decode.c
|
|
|
|
|
|
|
|
|
|
aiff_extract_codebook_SOURCES := aiff_extract_codebook.c
|
|
|
|
|
|
2024-07-02 09:45:36 +08:00
|
|
|
tabledesign$(EXT): $(LIBAUDIOFILE)
|
2019-09-01 15:50:50 -04:00
|
|
|
tabledesign_SOURCES := sdk-tools/tabledesign/codebook.c sdk-tools/tabledesign/estimate.c sdk-tools/tabledesign/print.c sdk-tools/tabledesign/tabledesign.c
|
2020-12-03 14:26:38 -05:00
|
|
|
tabledesign_CFLAGS := -Iaudiofile -Wno-uninitialized
|
|
|
|
|
tabledesign_LDFLAGS := -Laudiofile -laudiofile -lstdc++
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
vadpcm_enc_SOURCES := sdk-tools/adpcm/vadpcm_enc.c sdk-tools/adpcm/vpredictor.c sdk-tools/adpcm/quant.c sdk-tools/adpcm/util.c sdk-tools/adpcm/vencode.c
|
2020-12-03 14:26:38 -05:00
|
|
|
vadpcm_enc_CFLAGS := -Wno-unused-result -Wno-uninitialized -Wno-sign-compare -Wno-absolute-value
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2019-11-03 14:36:27 -05:00
|
|
|
extract_data_for_mio_SOURCES := extract_data_for_mio.c
|
|
|
|
|
|
|
|
|
|
skyconv_SOURCES := skyconv.c n64graphics.c utils.c
|
2021-07-11 20:02:12 -04:00
|
|
|
skyconv_CFLAGS := -g -I../include
|
2019-11-03 14:36:27 -05:00
|
|
|
|
2024-07-02 09:45:36 +08:00
|
|
|
armips$(EXT): CC := $(CXX)
|
2020-12-03 14:26:38 -05:00
|
|
|
armips_SOURCES := armips.cpp
|
2024-07-02 09:45:36 +08:00
|
|
|
armips_CFLAGS := -std=gnu++11 -fno-exceptions -fno-rtti -pipe
|
2020-12-03 14:26:38 -05:00
|
|
|
armips_LDFLAGS := -pthread
|
|
|
|
|
ifeq ($(HOST_ENV),MinGW)
|
|
|
|
|
armips_LDFLAGS += -municode
|
|
|
|
|
endif
|
2020-06-17 22:14:59 -04:00
|
|
|
|
2024-07-02 09:45:36 +08:00
|
|
|
flips$(EXT): CC := $(CXX)
|
2023-09-27 10:55:14 -05:00
|
|
|
flips_SOURCES := FlipsSrc/Flips.cpp
|
2024-07-02 09:45:36 +08:00
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
|
flips_CFLAGS := -Wall -Wextra -fopenmp -Os -flto -fuse-linker-plugin -fomit-frame-pointer -fmerge-all-constants \
|
|
|
|
|
-fvisibility=hidden -fno-exceptions -fno-rtti -fno-unwind-tables -fno-asynchronous-unwind-tables \
|
|
|
|
|
-ffunction-sections -fdata-sections -Wl,--gc-sections
|
|
|
|
|
else
|
2023-06-25 23:12:04 -04:00
|
|
|
flips_CFLAGS := -Wall -Wextra -fopenmp -Os -flto -fuse-linker-plugin -fomit-frame-pointer -fmerge-all-constants \
|
|
|
|
|
-fvisibility=hidden -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables \
|
|
|
|
|
-ffunction-sections -fdata-sections -Wl,--gc-sections \
|
2024-07-02 09:45:36 +08:00
|
|
|
-fvisibility=hidden -fno-exceptions -fno-rtti -fno-unwind-tables -fno-asynchronous-unwind-tables \
|
|
|
|
|
-ffunction-sections -fdata-sections -Wl,--gc-sections \
|
2023-06-25 23:12:04 -04:00
|
|
|
-Wl,-z,relro,-z,now,--as-needed,--hash-style=gnu,--relax
|
2024-07-02 09:45:36 +08:00
|
|
|
endif
|
2023-06-05 17:02:58 -05:00
|
|
|
|
2024-07-02 09:45:36 +08:00
|
|
|
all-except-recomp: $(LIBAUDIOFILE) $(OUTPUTS)
|
2020-06-17 22:14:59 -04:00
|
|
|
|
2021-02-01 18:23:36 -05:00
|
|
|
all: all-except-recomp
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
clean:
|
2020-12-03 14:26:38 -05:00
|
|
|
$(RM) $(ALL_PROGRAMS)
|
2022-09-30 17:40:50 -05:00
|
|
|
$(RM) UNFLoader*
|
2020-06-17 22:14:59 -04:00
|
|
|
$(MAKE) -C audiofile clean
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2023-09-11 14:15:22 -07:00
|
|
|
distclean: clean
|
|
|
|
|
|
2019-08-25 00:46:40 -04:00
|
|
|
define COMPILE
|
2024-07-02 09:45:36 +08:00
|
|
|
$(1)$$(EXT): $($1_SOURCES)
|
|
|
|
|
$$(CC) $(CFLAGS) $($1_CFLAGS) $$^ -o $(1) $($1_LDFLAGS) $(LDFLAGS)
|
2019-08-25 00:46:40 -04:00
|
|
|
endef
|
|
|
|
|
|
2020-12-03 14:26:38 -05:00
|
|
|
$(foreach p,$(BUILD_PROGRAMS),$(eval $(call COMPILE,$(p))))
|
|
|
|
|
|
|
|
|
|
$(LIBAUDIOFILE):
|
|
|
|
|
@$(MAKE) -C audiofile
|
2020-06-02 12:44:34 -04:00
|
|
|
|
2023-09-11 14:15:22 -07:00
|
|
|
.PHONY: all all-except-recomp clean distclean default
|