summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile27
1 files changed, 25 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 6556686..99d46aa 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,18 @@
WORK_DIR = .
SRC_DIR = $(WORK_DIR)/src
+MI_DIR = $(WORK_DIR)/mimalloc
+MI_BUILD = $(MI_DIR)/build
+MI_OBJECT = $(MI_BUILD)/mimalloc.o
+MI_FLAGS = \
+ -DMI_BUILD_STATIC=NO \
+ -DMI_BUILD_SHARED=NO \
+ -DMI_BUILD_OBJECT=YES \
+ -DMI_BUILD_TESTS=NO \
+ -DMI_USE_CXX=NO
+
+MI_GENERATOR = "Unix Makefiles"
+
CSH_FLAGS = -Wall -Wextra -Werror -pedantic -I$(SRC_DIR)
CC = clang
@@ -11,8 +23,9 @@ CXX = clang++
CXX_STD = -std=c++11
CXX_FLAGS = -fno-rtti -fno-exceptions $(CXX_STD) $(CSH_FLAGS)
-RM = rm -f
+RM = rm -rf
ECHO = echo
+CMAKE = cmake
XDG_SHELL_PROT = $(WORK_DIR)/xdg-shell.xml
@@ -23,11 +36,20 @@ SOURCES = \
OBJECTS := $(SOURCES:.cc=.o)
OBJECTS := $(OBJECTS:.c=.o)
+OBJECTS += $(MI_OBJECT)
LIBRARIES = -lwayland-client
all: $(WAYCLOCK)
+$(MI_BUILD):
+ @echo " CMAKE $@"
+ @$(CMAKE) $(MI_DIR) -B $@ -G $(MI_GENERATOR) $(MI_FLAGS)
+
+$(MI_OBJECT): | $(MI_BUILD)
+ @echo " MAKE $@"
+ @$(MAKE) -C $(MI_BUILD)
+
$(WAYCLOCK): $(OBJECTS)
@echo " LD $@"
@$(CXX) $(CXX_FLAGS) -o $@ $^ $(LIBRARIES)
@@ -42,4 +64,5 @@ $(WAYCLOCK): $(OBJECTS)
.PHONY: clean
clean:
- @$(RM) $(OBJECTS) $(WAYCLOCK) \ No newline at end of file
+ @$(RM) $(OBJECTS) $(WAYCLOCK)
+ @$(RM) $(MI_BUILD) \ No newline at end of file