aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 149c2ac0ba71b9619470365efbe22d474699b284 (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
35
36
37
38
NAME:=lat

SRCDIR:=src
IDIR:=include
ODIR:=obj
BINDIR:=build

CC:=cc
CFLAGS:=-I$(IDIR) -Wall -Wextra -pedantic -Ofast
LIB:=

DEPS:=$($(IDIR)/%.h)

SRCS=$(shell find . -name "*.c")
BASENAME:=$(shell basename -a $(SRCS))

VPATH=$(dir $(SRCS))

OBJ=$(patsubst %.c,./$(ODIR)/%.o,$(BASENAME))

$(ODIR)/%.o: %.c $(DEPS)
	$(CC) -c -o $@ $< $(CFLAGS) $(LIB)

$(NAME): $(OBJ)
	$(CC) -o $(BINDIR)/$@ $^ $(CFLAGS) $(LIB)

.PHONY: prep
prep:
	-@mkdir -p $(SRCDIR)
	-@mkdir -p $(IDIR)
	-@mkdir -p $(ODIR)
	-@mkdir -p $(BINDIR)
	@echo $(BINDIR)/ >> .gitignore

.PHONY: clean
clean:
	-rm -f $(ODIR)/*
	-rm -f $(BINDIR)/*