forked from apmanol/cppworkshop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
40 lines (30 loc) · 737 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
32
33
34
35
36
37
38
39
SHELL := /bin/bash
RM := rm -Rf
BUILDDIR = ./build/
BINDIR = ./bin
LIBDIR = ./lib
INSTALLDIR = .
INSTALLDIR_BIN = ./bin
INSTALLDIR_LIB = ./lib
CMAKEOPTS =
ifeq ($(arch), gcc5)
CMAKEOPTS += -DCMAKE_TOOLCHAIN_FILE=../tools/share/cmake/Toolchain-gcc5.cmake
endif
ifeq ($(debug), 1)
CMAKEOPTS += -DCMAKE_BUILD_TYPE=Debug
endif
.EXPORT_ALL_VARIABLES:
.PHONY: all distclean
all: $(BUILDDIR)Makefile
@ $(MAKE) -C $(BUILDDIR)
distclean:
@- $(RM) -R $(BUILDDIR) $(BINDIR) $(LIBDIR)
$(BUILDDIR)Makefile:
@ mkdir -p $(dir $@)
(cd $(dir $@) &> /dev/null && cmake $(CMAKEOPTS) ..)
ifneq ($(MAKECMDGOALS),all)
ifneq ($(MAKECMDGOALS),distclean)
$(MAKECMDGOALS): $(BUILDDIR)Makefile
@ $(MAKE) -C $(BUILDDIR) $(MAKECMDGOALS)
endif
endif