aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: bd731f697870790fde1dc4d780e88908a8688b1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
PKGS=libtiff-4 raylib
EXE=prog
BUILD_DIR=build/
OBJ_DIR=$(BUILD_DIR)obj/
SRC_DIR=src/
INC_DIR=include/
SRCS=$(shell find $(SRC_DIR) -iname \*.c)
OBJS_sub=$(subst $(SRC_DIR),$(OBJ_DIR),$(SRCS))
OBJS=$(OBJS_sub:.c=.o)
OBJ_DIRS_sub=$(shell find $(SRC_DIR) -type d)
OBJ_DIRS=$(subst $(SRC_DIR),$(OBJ_DIR),$(OBJ_DIRS_sub))

CFLAGS=
CFLAGS+=$(shell pkgconf --cflags $(PKGS))
CFLAGS+=-I$(INC_DIR)

LDFLAGS=
LDFLAGS+=$(shell pkgconf --libs $(PKGS))

default: clean build

.PHONY: clean build

build: $(BUILD_DIR)$(EXE)

$(BUILD_DIR)$(EXE): $(OBJS)
	gcc -o $@ $(LDFLAGS) $^

$(OBJ_DIR)%.o: $(SRC_DIR)%.c
	gcc -o $@ $(CFLAGS) -c $<

clean:
	-rm -rf $(OBJ_DIR) $(BUILD_DIR)
	@mkdir -p $(OBJ_DIR) $(BUILD_DIR) $(OBJ_DIRS)