lama_byterun/runtime/Makefile
2025-01-05 10:51:40 +01:00

31 lines
795 B
Makefile

UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
CC=gcc
else ifeq ($(UNAME_S),Darwin)
CC=clang
ARCH = -arch x86_64
endif
DISABLE_WARNINGS=-Wno-shift-negative-value
COMMON_FLAGS=$(DISABLE_WARNINGS) -g -fstack-protector-all $(ARCH) --std=c11
PROD_FLAGS=$(COMMON_FLAGS) -DLAMA_ENV
TEST_FLAGS=$(COMMON_FLAGS) -DDEBUG_VERSION
UNIT_TESTS_FLAGS=$(TEST_FLAGS)
INVARIANTS_CHECK_FLAGS=$(TEST_FLAGS) -DFULL_INVARIANT_CHECKS
all: gc.o runtime.o printf.o
ar rc runtime.a runtime.o gc.o printf.o
gc.o: gc.c gc.h
$(CC) $(PROD_FLAGS) -c gc.c -o gc.o
runtime.o: runtime.c runtime.h
$(CC) $(PROD_FLAGS) -c runtime.c -o runtime.o
printf.o: printf.S
$(CC) $(PROD_FLAGS) -Wa,--noexecstack -x assembler-with-cpp -c -g printf.S -o printf.o
clean:
$(RM) *.a *.o *~ negative_scenarios/*.err