compiler/Makefile

35 lines
644 B
Makefile

BINARY=compiler
CC=gcc
CFLAGS=$(shell cat compile_flags.txt)
LDFLAGS=-Ltcc -ltcc -Ofast
CFILES=$(shell find -L src -type f -name '*.c')
OBJ=$(CFILES:.c=.o)
$(BINARY): $(OBJ) Makefile tcc/libtcc1.a
$(CC) $(OBJ) $(LDFLAGS) -o $@
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
run: $(BINARY)
./$(BINARY) run example.lisp
run-debug: $(BINARY)
./$(BINARY) run example.lisp -d yes
run-build: $(BINARY)
./$(BINARY) build example.lisp -o example
./example
run-build-debug: $(BINARY)
./$(BINARY) build example.lisp -o example -d yes
./example
tcc/libtcc1.a:
cd tcc && ./configure --cc=$(CC)
make -C tcc
clean:
rm -rf $(OBJ) $(BINARY) example