compiler/Makefile

36 lines
644 B
Makefile
Raw Normal View History

2024-07-21 02:04:32 +12:00
BINARY=compiler
CC=gcc
CFLAGS=$(shell cat compile_flags.txt)
2024-07-22 15:46:25 +12:00
LDFLAGS=-Ltcc -ltcc -Ofast
2024-07-21 02:04:32 +12:00
CFILES=$(shell find -L src -type f -name '*.c')
OBJ=$(CFILES:.c=.o)
2024-07-21 10:54:12 +12:00
$(BINARY): $(OBJ) Makefile tcc/libtcc1.a
2024-07-21 02:04:32 +12:00
$(CC) $(OBJ) $(LDFLAGS) -o $@
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
run: $(BINARY)
2024-07-22 13:02:37 +12:00
./$(BINARY) run example.lisp
2024-07-22 23:31:54 +12:00
run-debug: $(BINARY)
./$(BINARY) run example.lisp -d yes
2024-07-22 13:02:37 +12:00
run-build: $(BINARY)
2024-07-22 23:31:54 +12:00
./$(BINARY) build example.lisp -o example
./example
run-build-debug: $(BINARY)
./$(BINARY) build example.lisp -o example -d yes
2024-07-21 02:04:32 +12:00
./example
2024-07-21 10:54:12 +12:00
tcc/libtcc1.a:
2024-07-22 13:02:37 +12:00
cd tcc && ./configure --cc=$(CC)
2024-07-21 10:54:12 +12:00
make -C tcc
2024-07-21 02:04:32 +12:00
clean:
rm -rf $(OBJ) $(BINARY) example