2024-07-21 02:04:32 +12:00
|
|
|
BINARY=compiler
|
|
|
|
|
|
|
|
CC=gcc
|
2024-09-29 08:13:54 +13:00
|
|
|
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:
|
2024-09-29 08:13:54 +13:00
|
|
|
rm -rf $(OBJ) $(BINARY) example
|