CS153/lec01/Makefile

25 lines
767 B
Makefile
Raw Normal View History

CFLAGS := -mmacosx-version-min=10.12 -fno-vectorize -fno-slp-vectorize
parameters := O0 O1 O2 O3
.PHONY: all
all: factorialO0 factorialO1 factorialO2 factorialO3
LIBPATH := /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib
define COMPILE_WITH_OPT
$(info DEFINING $1)
factorial$(1): factorial64.c
gcc $$(CFLAGS) -$(1) -emit-llvm -S -o factorial-$(1).ll factorial.c
gcc $$(CFLAGS) -$(1) -S -o factorial-$(1).s factorial-$(1).ll
as -o factorial-$(1).o factorial-$(1).s
ld -macosx_version_min 12.0 -L $(LIBPATH) -lSystem -o factorial-$(1) factorial-$(1).o
endef
$(foreach P, $(parameters), $(eval $(call COMPILE_WITH_OPT,$(P))))
clean:
rm -rf a.out factorial*.s factorial*.ll factorial*.o factorial-O?