43 lines
643 B
Makefile
43 lines
643 B
Makefile
CC = gcc
|
|
|
|
INCFLAGS = -Isrc
|
|
|
|
CCFLAGS = -std=gnu99 -Wall -Wextra -pedantic -O2
|
|
CCFLAGS += $(INCFLAGS)
|
|
|
|
LDFLAGS += $(INCFLAGS)
|
|
LDFLAGS += -lX11
|
|
LDFLAGS += -lm
|
|
LDFLAGS += -lpthread
|
|
|
|
BIN = bin
|
|
APP = $(BIN)/app
|
|
SRC = $(shell find src -name "*.c")
|
|
OBJ = $(SRC:%.c=$(BIN)/%.o)
|
|
|
|
.PHONY: dirs run clean build install uninstall
|
|
|
|
EOF: clean build
|
|
|
|
dirs:
|
|
mkdir -p ./$(BIN)
|
|
mkdir -p ./$(BIN)/src
|
|
|
|
run: build
|
|
$(APP)
|
|
|
|
build: dirs ${OBJ}
|
|
${CC} -o $(APP) $(filter %.o,$^) $(LDFLAGS)
|
|
|
|
$(BIN)/%.o: %.c
|
|
$(CC) -o $@ -c $< $(CCFLAGS)
|
|
|
|
clean:
|
|
rm -rf $(APP)
|
|
rm -rf $(BIN)
|
|
|
|
install:
|
|
cp $(APP) /usr/local/bin/raycaster
|
|
|
|
uninstall:
|
|
rm /usr/local/bin/raycaster
|