123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- COMPILER_DIR = ../src/compiler/
- RUNTIME_DIR = ../src/runtime/
- SHARED_DIR = ../src/shared/
- UTILS_DIR = ../src/utils/
- EXEC_GRAVITY_SRC = exec_gravity.c
- EXEC_C_SRC = exec_c.c
- SRC = $(wildcard $(COMPILER_DIR)*.c) \
- $(wildcard $(RUNTIME_DIR)/*.c) \
- $(wildcard $(SHARED_DIR)/*.c) \
- $(wildcard $(UTILS_DIR)/*.c)
- INCLUDE = -I$(COMPILER_DIR) -I$(RUNTIME_DIR) -I$(SHARED_DIR) -I$(UTILS_DIR)
- CFLAGS = $(INCLUDE) -O2 -std=gnu99 -fgnu89-inline
- OBJ = $(SRC:.c=.o)
- ifeq ($(OS),Windows_NT)
- # Windows
- LDFLAGS = -lm -lShlwapi
- else
- UNAME_S := $(shell uname -s)
- ifeq ($(UNAME_S),Darwin)
- # MacOS
- LDFLAGS = -lm
- else ifeq ($(UNAME_S),NetBSD)
- # NetBSD
- LDFLAGS = -lm
- else ifeq ($(UNAME_S),OpenBSD)
- # OpenBSD
- LDFLAGS = -lm
- else
- # Linux
- LDFLAGS = -lm -lrt
- endif
- endif
- all: exec_gravity exec_c
- exec_gravity: $(OBJ) $(EXEC_GRAVITY_SRC)
- $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
- exec_c: $(OBJ) $(EXEC_C_SRC)
- $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
- .PHONY: all clean exec_gravity exec_c
- clean:
- rm -f $(OBJ) exec_gravity exec_c
|