Files
clox/Makefile
T

37 lines
509 B
Makefile

CC = gcc
CFLAGS=-Wall -DDEBUG
SRC=src
OBJ=obj
SRCS=$(wildcard $(SRC)/*.c)
# Substitute all .c with .o from SRCS
OBJS=$(patsubst $(SRC)/%.c, $(OBJ)/%.o, $(SRCS))
BINDIR=bin
BIN=$(BINDIR)/clox
all: $(BIN)
release: CFLAGS=-Wall -O2
release: clean
release: $(BIN)
$(BIN): $(OBJS) $(BINDIR)
$(CC) $(CFLAGS) $(OBJS) -o $@
$(OBJ)/%.o: $(SRC)/%.c $(OBJ)
$(CC) $(CFLAGS) -c $< -o $@
$(BINDIR):
mkdir $@
$(OBJ):
mkdir $@
.PHONY: clean
.PHONY: test
clean:
rm -r $(BINDIR)/* $(OBJ)/*
test:
$(BIN) test.lox