-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
52 lines (47 loc) · 1.1 KB
/
Copy pathMakefile
File metadata and controls
52 lines (47 loc) · 1.1 KB
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
52
ifeq ($(OS),Windows_NT)
SHELL := cmd.exe
CXX_TEST := $(shell clang++ --version 2>nul)
ifneq ($(CXX_TEST),)
CXX = clang++
else
CXX = g++
endif
EXT = .exe
BIN = bin\\
CXXFLAGS = -O2 -std=c++17 -Wall -DGLEW_STATIC
LDFLAGS = -static -static-libgcc -static-libstdc++ -s -lglfw3 -lglew32 -lopengl32 -lgdi32 -luser32 -lshell32
MKDIR = if not exist bin mkdir bin
RM = del /Q /F
else
CXX_TEST := $(shell clang++ --version 2>/dev/null)
ifneq ($(CXX_TEST),)
CXX = clang++
else
CXX = g++
endif
EXT =
BIN = bin/
CXXFLAGS = -O2 -flto -std=c++17 -Wall -DGLEW_STATIC
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
LDFLAGS = -lglfw -lGLEW -lGL -lm
endif
ifeq ($(UNAME_S),Darwin)
LDFLAGS = -lglfw -lGLEW -framework OpenGL
endif
MKDIR = mkdir -p bin
RM = rm -rf bin/
endif
TARGET1 = $(BIN)atom_raytracer$(EXT)
TARGET2 = $(BIN)atome_wave2d$(EXT)
SRC1 = src/atom_raytracer.cpp
SRC2 = src/atom_wave2d.cpp
all: $(TARGET1) $(TARGET2)
$(TARGET1): $(SRC1)
@$(MKDIR)
$(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
$(TARGET2): $(SRC2)
@$(MKDIR)
$(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
clean:
$(RM) $(BIN)*$(EXT)