mirror of https://github.com/n64decomp/mk64.git
66 lines
1.5 KiB
Makefile
66 lines
1.5 KiB
Makefile
IRIX_ROOT := ../ido5.3_compiler
|
|
|
|
cc: OPT_CFLAGS := -O2
|
|
cfe: OPT_CFLAGS := -O2
|
|
uopt: OPT_CFLAGS := -O2
|
|
ugen: OPT_CFLAGS := -O2
|
|
as1: OPT_CFLAGS := -O2
|
|
acpp: OPT_CFLAGS := -O2
|
|
|
|
RECOMP := recomp
|
|
|
|
# determine host OS for flags
|
|
UNAME_S := $(shell uname -s)
|
|
UNAME_P := $(shell uname -p)
|
|
|
|
ifeq ($(UNAME_S),Darwin)
|
|
HOST_OS := macOS
|
|
else ifeq ($(UNAME_S),Linux)
|
|
HOST_OS := linux
|
|
else ifeq ($(OS),Windows_NT)
|
|
HOST_OS := cygwin
|
|
else
|
|
$(error Unsupported host OS for Makefile)
|
|
endif
|
|
|
|
CFLAGS := -fno-strict-aliasing -Wno-tautological-compare
|
|
CLIBS := -lm
|
|
|
|
ifeq ($(HOST_OS),macOS)
|
|
CFLAGS += -Wno-deprecated-declarations
|
|
ifeq (,$(findstring arm,$(shell uname -p)))
|
|
# only add flags on x86_64 macOS
|
|
CFLAGS += -fno-pie
|
|
endif
|
|
else
|
|
CFLAGS += -no-pie
|
|
endif
|
|
|
|
ugen_c.c: RECOMP_FLAGS := --conservative
|
|
|
|
all: cc cfe uopt ugen as1 acpp copt ujoin uld umerge usplit err.english.cc
|
|
|
|
clean:
|
|
$(RM) cc* cfe* uopt* ugen* as1* acpp* copt* ujoin* uld* umerge* usplit* err.english.cc $(RECOMP) libc_impl.o
|
|
|
|
$(RECOMP): recomp.cpp
|
|
$(CXX) $^ -o $@ -std=c++11 -O2 -Wno-switch `pkg-config --cflags --libs capstone`
|
|
|
|
libc_impl.o: libc_impl.c libc_impl.h
|
|
$(CC) $< -c -O2 -DIDO53 $(CFLAGS)
|
|
|
|
err.english.cc: $(IRIX_ROOT)/usr/lib/err.english.cc
|
|
cp $^ $@
|
|
|
|
cc_c.c: $(IRIX_ROOT)/usr/bin/cc $(RECOMP)
|
|
./$(RECOMP) $< > $@
|
|
|
|
%_c.c: $(IRIX_ROOT)/usr/lib/% $(RECOMP)
|
|
./$(RECOMP) $(RECOMP_FLAGS) $< > $@
|
|
|
|
%: %_c.c libc_impl.o
|
|
$(CC) libc_impl.o $< -o $@ $(OPT_CFLAGS) $(CFLAGS) $(CLIBS)
|
|
|
|
.PHONY: all clean
|
|
.DEFAULT_TARGET := all
|