lama_byterun/runtime/Makefile

61 lines
2.1 KiB
Makefile
Raw Normal View History

2024-07-02 17:07:50 +02:00
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
2024-07-04 10:49:15 +02:00
CC=gcc
2024-07-02 17:07:50 +02:00
else ifeq ($(UNAME_S),Darwin)
2024-07-04 10:49:15 +02:00
CC=clang
2024-07-02 17:07:50 +02:00
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
2024-02-05 14:18:06 +01:00
all: gc64.o runtime64.o printf.o
ar rc runtime.a runtime64.o gc64.o printf.o
all32: gc.o runtime.o
ar rc runtime.a runtime.o gc.o
2023-10-04 05:23:14 +02:00
NEGATIVE_TESTS=$(sort $(basename $(notdir $(wildcard negative_scenarios/*_neg.c))))
$(NEGATIVE_TESTS): %: negative_scenarios/%.c
@echo "Running test $@"
@$(CC) -o $@.o $(COMMON_FLAGS) negative_scenarios/$@.c gc.c
@./$@.o 2> negative_scenarios/$@.err || diff negative_scenarios/$@.err negative_scenarios/expected/$@.err
negative_tests: $(NEGATIVE_TESTS)
unit_tests.o: gc.c gc.h runtime.c runtime.h runtime_common.h virt_stack.c virt_stack.h test_main.c test_util.s
$(CC) -o unit_tests.o $(UNIT_TESTS_FLAGS) gc.c virt_stack.c runtime.c test_main.c test_util.s
invariants_check.o: gc.c gc.h runtime.c runtime.h runtime_common.h virt_stack.c virt_stack.h test_main.c test_util.s
$(CC) -o invariants_check.o $(INVARIANTS_CHECK_FLAGS) gc.c virt_stack.c runtime.c test_main.c test_util.s
invariants_check_debug_print.o: gc.c gc.h runtime.c runtime.h runtime_common.h virt_stack.c virt_stack.h test_main.c test_util.s
$(CC) -o invariants_check_debug_print.o $(INVARIANTS_CHECK_FLAGS) -DDEBUG_PRINT gc.c virt_stack.c runtime.c test_main.c test_util.s
virt_stack.o: virt_stack.h virt_stack.c
$(CC) $(PROD_FLAGS) -c virt_stack.c
gc.o: gc.c gc.h
2024-06-30 20:27:04 +02:00
$(CC) -m32 $(PROD_FLAGS) -c gc.c
gc64.o: gc.c gc.h
2024-06-30 20:27:04 +02:00
$(CC) $(PROD_FLAGS) -c gc.c -o gc64.o
2018-11-21 14:23:35 +03:00
2021-09-28 03:02:05 +03:00
runtime.o: runtime.c runtime.h
$(CC) -m32 $(PROD_FLAGS) -c runtime.c
runtime64.o: runtime.c runtime.h
$(CC) $(PROD_FLAGS) -c runtime.c -o runtime64.o
2018-03-04 23:13:08 +03:00
2024-07-01 11:37:41 +02:00
printf.o: printf.S
$(CC) $(PROD_FLAGS) -x assembler-with-cpp -c -g printf.S -o printf.o
2024-02-05 14:18:06 +01:00
2018-03-04 23:13:08 +03:00
clean:
2023-10-04 05:23:14 +02:00
$(RM) *.a *.o *~ negative_scenarios/*.err