-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
51 lines (36 loc) · 1.02 KB
/
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
40
41
42
43
44
45
46
47
48
49
50
51
SRCDIR := src
BUILDDIR := build
EXECDIR := bin
INC := -I include
SRCEXT := cpp
SOURCES := $(wildcard $(SRCDIR)/*.$(SRCEXT))
OBJECTS := $(patsubst %.$(SRCEXT),$(BUILDDIR)/%.o,$(notdir $(SOURCES)))
CXXFLAGS := --std=c++14 -Wall -Ofast
LDFLAGS =
TARGET := bin/dinamo
ifdef BINARY_NAME
TARGET := bin/$(BINARY_NAME)
else
TARGET := bin/dinamo
endif
ifeq ($(BINARY_NAME),dinamo-windows-x64.exe)
LDFLAGS = -static -static-libgcc -static-libstdc++
endif
all: $(TARGET)
$(TARGET): $(OBJECTS)
@echo " Linking..."
@mkdir -p $(EXECDIR)
@echo " $(CXX) $^ -o $(TARGET) "; $(CXX) $(LDFLAGS) $^ -o $(TARGET)
$(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT)
@mkdir -p $(BUILDDIR)
@echo " $(CXX) $(CXXFLAGS) $(INC) -c -o $@ $<"; $(CXX) $(CXXFLAGS) $(INC) -c -o $@ $<
clean:
@echo " Cleaning...";
@echo " $(RM) -r $(BUILDDIR) $(TARGET)"; $(RM) -r $(BUILDDIR) $(TARGET)
# Tests
# tester:
# $(CCX) $(CFLAGS) test/tester.cpp $(INC) $(LIB) -o bin/tester
# Spikes
# ticket:
# $(CCX) $(CFLAGS) spikes/ticket.cpp $(INC) $(LIB) -o bin/ticket
.PHONY: clean