mk64/tools/ido5.3_recomp/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