sm64/tools/Makefile

74 lines
2.2 KiB
Makefile
Raw Normal View History

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++
2023-08-17 08:56:02 -04:00
CFLAGS := -I . -I sm64tools -Wall -Wextra -Wno-unused-parameter -pedantic -O2 -s
2020-12-03 14:26:38 -05:00
LDFLAGS := -lm
2023-08-17 08:56:02 -04:00
ALL_PROGRAMS := armips textconv patch_elf_32bit aifc_decode aiff_extract_codebook vadpcm_enc tabledesign extract_data_for_mio skyconv
2020-12-03 14:26:38 -05:00
LIBAUDIOFILE := audiofile/libaudiofile.a
2020-06-02 12:44:34 -04:00
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
2019-08-25 00:46:40 -04:00
textconv_SOURCES := textconv.c utf8.c hashtable.c
2020-12-03 14:26:38 -05:00
2021-07-12 23:17:54 -04:00
patch_elf_32bit_SOURCES := patch_elf_32bit.c
2019-08-25 00:46:40 -04:00
aifc_decode_SOURCES := aifc_decode.c
aiff_extract_codebook_SOURCES := aiff_extract_codebook.c
2020-12-03 14:26:38 -05:00
tabledesign: $(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
2023-08-17 08:56:02 -04:00
skyconv_SOURCES := skyconv.c sm64tools/n64graphics.c sm64tools/utils.c
2019-11-03 14:36:27 -05:00
2020-12-03 14:26:38 -05:00
armips: CC := $(CXX)
armips_SOURCES := armips.cpp
armips_CFLAGS := -std=c++11 -fno-exceptions -fno-rtti -pipe
armips_LDFLAGS := -pthread
ifeq ($(HOST_ENV),MinGW)
armips_LDFLAGS += -municode
endif
2020-06-17 22:14:59 -04:00
2020-12-03 14:26:38 -05:00
all-except-recomp: $(LIBAUDIOFILE) $(BUILD_PROGRAMS)
2020-06-17 22:14:59 -04:00
2023-08-17 08:56:02 -04:00
all: all-except-recomp ido-static-recomp
2019-08-25 00:46:40 -04:00
clean:
2020-12-03 14:26:38 -05:00
$(RM) $(ALL_PROGRAMS)
2020-06-17 22:14:59 -04:00
$(MAKE) -C audiofile clean
2023-08-17 08:56:02 -04:00
$(MAKE) -C ido-static-recomp clean
2019-08-25 00:46:40 -04:00
define COMPILE
$(1): $($1_SOURCES)
2020-12-03 14:26:38 -05:00
$$(CC) $(CFLAGS) $($1_CFLAGS) $$^ -o $$@ $($1_LDFLAGS) $(LDFLAGS)
2019-08-25 00:46:40 -04:00
endef
2023-08-17 08:56:02 -04:00
ido-static-recomp:
@$(MAKE) -C ido-static-recomp setup
@$(MAKE) -C ido-static-recomp
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-08-17 08:56:02 -04:00
.PHONY: all all-except-recomp clean default ido-static-recomp