From 85b4c1be3c73cdc23790566317f7475b128521b8 Mon Sep 17 00:00:00 2001 From: Jonghyun Park Date: Mon, 26 Feb 2018 12:52:39 +0900 Subject: [PATCH] Use Makefile to simplify CMake configuration This commit introduces Makefile to simplify CMake configurations. Signed-off-by: Jonghyun Park --- .gitignore | 3 +++ Makefile | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 Makefile diff --git a/.gitignore b/.gitignore index 259148f..13a8431 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,6 @@ *.exe *.out *.app + +# Working Path +/Product diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..72467a1 --- /dev/null +++ b/Makefile @@ -0,0 +1,53 @@ +WORKDIR=Product + +BUILD_ROOT=$(WORKDIR)/obj +INSTALL_ROOT?=$(WORKDIR)/out + +TIMESTAMP_CONFIGURE=$(WORKDIR)/CONFIGURE +TIMESTAMP_BUILD=$(WORKDIR)/BUILD +TIMESTAMP_INSTALL=$(WORKDIR)/INSTALL + +all: build + +### +### Command (public) +### +configure: configure_internal + +build: build_internal + +install: $(TIMESTAMP_INSTALL) + +clean: + rm -rf $(WORKDIR) + +### +### Command (internal) +### +configure_internal: + mkdir -p $(BUILD_ROOT) + cd $(BUILD_ROOT) && cmake $(CURDIR) -DCMAKE_INSTALL_PREFIX=$(INSTALL_ROOT) + touch $(TIMESTAMP_CONFIGURE) + +build_internal: + cd $(BUILD_ROOT) && make all + touch $(TIMESTAMP_BUILD) + +install_internal: + cd $(BUILD_ROOT) && make install + touch $(TIMESTAMP_INSTALL) + +### +### Timestamps +### +$(WORKDIR): + mkdir -p $@ + +$(TIMESTAMP_CONFIGURE): + make configure_internal + +$(TIMESTAMP_BUILD): $(TIMESTAMP_CONFIGURE) + make build_internal + +$(TIMESTAMP_INSTALL): $(TIMESTAMP_BUILD) + make install_internal -- 2.7.4