-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
48 lines (36 loc) · 1.19 KB
/
Makefile
File metadata and controls
48 lines (36 loc) · 1.19 KB
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
46
47
48
# Este Makefile foi desenvolvido seguindo os seguintes tutoriais:
#
# John Tsiombikas "Practical Makefiles, by example":
# http://nuclear.mutantstargoat.com/articles/make/
#
# Darcamo (Fórums Ubuntu)
# https://www.mat.uc.pt/~pedro/lectivos/ProgramacaoOrientadaObjectos/tutorialMakefilesPT.pdf
SRCDIR = src
OBJDIR = obj
BINDIR = bin
EXEC = $(BINDIR)/ViMusPd
src = $(wildcard $(SRCDIR)/*.cpp)
obj = $(src:$(SRCDIR)/%.cpp=$(OBJDIR)/%.o)
dep = $(obj:$(OBJDIR)/%.o=$(OBJDIR)/%.d)
LDFLAGS = -lGL -lglut -lGLU -lXxf86vm -lalut -lfreenect -lopenal \
-lopencv_highgui -lopencv_core -lopencv_imgcodecs \
-lopencv_imgproc -lopencv_videoio -lboost_thread \
-lboost_system -lpthread
.PHONY: clean all pd
all : $(OBJDIR) $(EXEC) pd
pd :
cd ./pure-data/src; \
make -f makefile.gnu
$(EXEC): $(obj)
test -d $(BINDIR) || mkdir -p $(BINDIR)
$(CXX) -o $@ $^ $(LDFLAGS)
$(OBJDIR)/%.o : $(SRCDIR)/%.cpp
$(CXX) -c $< -o $@
-include $(dep) # inclui todas as dependências no Makefile
# regra para gerar dependências
$(OBJDIR)/%.d: $(SRCDIR)/%.cpp
$(CPP) $< -MM -MT '$(OBJDIR)/$*.o $(OBJDIR)/$*.d ' >$@
$(OBJDIR):
test -d $(OBJDIR) || mkdir -p $(OBJDIR)
clean:
rm -f $(EXEC) $(OBJDIR)/*.o $(OBJDIR)/*.d