-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
32 lines (23 loc) · 805 Bytes
/
Makefile
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
# Regras possíveis
TOPTARGETS := all debug clean release generate
# Lista de subdiretórios
SUBDIRS := $(wildcard */)
SUBDIRS := $(filter-out doc/, $(SUBDIRS))
SUBDIRS := $(filter-out shared_include/, $(SUBDIRS))
# Nome do diretório na qual a documentação será gerada
DOC_PATH = doc/
# Regra para executar comandos make toplevel
$(TOPTARGETS): $(SUBDIRS)
# Regra para executar comandos para cada subdiretório
$(SUBDIRS):
$(MAKE) -C $@ $(MAKECMDGOALS)
# Regra para gerar a documentação com Doxygen
doc:
doxygen Doxyfile
# Regra limpar a documentação gerada
doc-clean:
rm -rf $(DOC_PATH)
# Regra para printar uma variável no terminal. Auxilia no debug do Makefile
print-% : ; @echo $* = $($*)
# Regra que torna as dependências "phony"
.PHONY: $(TOPTARGETS) $(SUBDIRS) doc doc-clean