-.PHONY: all
-all: toy
+UNAME := $(shell uname -s)
+
+ifeq ($(UNAME),Darwin)
+ CXX := xcrun --sdk macosx clang++
+else
+ CXX := clang++
+endif
+
+LLVM_CXXFLAGS := $(shell llvm-config --cppflags --ldflags --system-libs --libs core orcjit native)
toy: toy.cpp
- clang++ -Wall -std=c++11 toy.cpp -g -O0 -rdynamic -fno-rtti `llvm-config --cppflags --ldflags --system-libs --libs core orcjit native` -o toy
+ $(CXX) $(LLVM_CXXFLAGS) -Wall -std=c++14 -g -O0 -rdynamic -fno-rtti -o toy toy.cpp
.PHONY: clean
clean:
-.PHONY: all
-all: toy
+UNAME := $(shell uname -s)
+
+ifeq ($(UNAME),Darwin)
+ CXX := xcrun --sdk macosx clang++
+else
+ CXX := clang++
+endif
+
+LLVM_CXXFLAGS := $(shell llvm-config --cppflags --ldflags --system-libs --libs core orcjit native)
toy: toy.cpp
- clang++ -Wall -std=c++11 toy.cpp -g -O0 -rdynamic -fno-rtti `llvm-config --cppflags --ldflags --system-libs --libs core orcjit native` -o toy
+ $(CXX) $(LLVM_CXXFLAGS) -Wall -std=c++14 -g -O0 -rdynamic -fno-rtti -o toy toy.cpp
.PHONY: clean
clean:
-.PHONY: all
-all: toy
+UNAME := $(shell uname -s)
+
+ifeq ($(UNAME),Darwin)
+ CXX := xcrun --sdk macosx clang++
+else
+ CXX := clang++
+endif
+
+LLVM_CXXFLAGS := $(shell llvm-config --cppflags --ldflags --system-libs --libs core orcjit native)
toy: toy.cpp
- clang++ -Wall -std=c++11 toy.cpp -g -O0 -rdynamic -fno-rtti `llvm-config --cppflags --ldflags --system-libs --libs core orcjit native` -o toy
+ $(CXX) $(LLVM_CXXFLAGS) -Wall -std=c++14 -g -O0 -rdynamic -fno-rtti -o toy toy.cpp
.PHONY: clean
clean:
-.PHONY: all
-all: toy
+UNAME := $(shell uname -s)
+
+ifeq ($(UNAME),Darwin)
+ CXX := xcrun --sdk macosx clang++
+else
+ CXX := clang++
+endif
+
+LLVM_CXXFLAGS := $(shell llvm-config --cppflags --ldflags --system-libs --libs core orcjit native)
toy: toy.cpp
- clang++ -Wall -std=c++11 toy.cpp -g -O0 -rdynamic -fno-rtti `llvm-config --cppflags --ldflags --system-libs --libs core orcjit native` -o toy
+ $(CXX) $(LLVM_CXXFLAGS) -Wall -std=c++14 -g -O0 -rdynamic -fno-rtti -o toy toy.cpp
.PHONY: clean
clean: