aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 4e2382d100dc1fb20bf02a4ddf215c37d831f1ce (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
39
40
41
42
43
44
45
CC 		:= clang
CFLAGS 	:= -Wall -pedantic -pedantic-errors -std=c99
DLIBS 	:= -lm $(shell pkg-config --libs glfw3 opengl glew)
INCLUDE := $(addprefix -I,./include)
OBJDIR 	= objs
SRCDIR  = src
OBJS 	= $(addprefix objs/,main.o shader.o linear.o obj.o)
BIN 	= mverse

SHADERS_DIR 	= /usr/share/${BIN}
VERTEX 			= shaders/dummy.vsh
FRAGMENT 		= shaders/dummy.fsh

all: build

$(OBJS): | $(OBJDIR)

$(OBJDIR):
	mkdir ${OBJDIR}

$(OBJDIR)/%.o: $(SRCDIR)/%.c
	${CC} -c $< -o $@ ${CFLAGS} ${INCLUDE}

build: $(OBJS)
	${CC} $^ -o ${BIN} ${DLIBS}

run:
	./${BIN} models/cessna.obj

install: build
	install -Dm 644 ${VERTEX} -t ${SHADERS_DIR}
	install -Dm 644 ${FRAGMENT} -t ${SHADERS_DIR}
	install -D ${BIN} -t /usr/bin
	@echo "========================================================"
	@echo "To use the ${BIN} set the environment variables:"
	@echo "  MVERSE_VERTEX=${SHADERS_DIR}/$(notdir ${VERTEX})"
	@echo "  MVERSE_FRAGMENT=${SHADERS_DIR}/$(notdir ${FRAGMENT})"
	@echo "========================================================"

uninstall:
	rm -f /usr/bin/${BIN}
	rm -rvf ${SHADERS_DIR}

clean:
	@rm $(OBJS) -v
Feel free to download, copy and edit any repo