summaryrefslogtreecommitdiff
path: root/Makefile
blob: ac235316a43bf0937a8b8470afc24214f60c7bc6 (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
BUILD_DIR = $(CURDIR)/build
LOCAL_DIR = $(CURDIR)
DEBUG_FLAGS = -DCMAKE_BUILD_TYPE=Debug
REL_FLAGS = -DCMAKE_BUILD_TYPE=RelWithDebInfo

ifneq ($(INSTALL_PREFIX),)
DEBUG_FLAGS += -DCMAKE_INSTALL_PREFIX=$(INSTALL_PREFIX)
REL_FLAGS += -DCMAKE_INSTALL_PREFIX=$(INSTALL_PREFIX)
endif

all: _make_build_dir _compile_rel

PHONY: all _make_build_dir _compile_debug _compile_rel _install \
	   build_release build_debug install

_make_build_dir:
	mkdir -p $(BUILD_DIR)

_compile_debug:
	cd $(BUILD_DIR) && cmake $(LOCAL_DIR) $(DEBUG_FLAGS) && make

_compile_rel:
	cd $(BUILD_DIR) && cmake $(LOCAL_DIR) $(REL_FLAGS) && make

_install:
	cd $(BUILD_DIR) && make install
_package:
	cd $(BUILD_DIR) && make package
_clean:
	rm -rf $(BUILD_DIR)
	
# Release Version, No Debug Symbol and Optimized with -O2
release: _make_build_dir _compile_rel
# Debug Version, Optimized with -O0
debug: _make_build_dir _compile_debug
# Install
install: _install
# Package
package: _package
# Clean
clean: _clean