# -*- mode: snippet -*- # contributor: Henrik Lissner # -- CC = clang++ TAGS = ctags -e -x >TAGS FLAGS = -std=c++11 -stdlib=libc++ -Iinclude -I/usr/local/include -L/usr/local/lib CFLAGS = -pedantic -Wall -Wextra -ggdb3 LIBS = # ... DEBUG_FLAGS = -O0 -D _DEBUG RELEASE_FLAGS = -O2 -D NDEBUG -combile -fwhole-program RELEASE_DIR = ./build/release DEBUG_DIR = ./build/debug TARGET = ${1:appname$(replace-regexp-in-string " " "" yas-text nil t)} HEADERS = \$(shell echo include/*.h) SOURCES = \$(shell echo src/*.cpp) \$(shell echo src/**/*.cpp) OBJECTS = \$(SOURCES:.cpp=.o) ### all: \$(TARGET) debug: FLAGS += \$(DEBUG_FLAGS) debug: \$(TARGET) release: FLAGS += \$(RELEASE_FLAGS) release: \$(TARGET) profile: CFLAGS += -pg profile: \$(TARGET) \$(TARGET): \$(OBJECTS) \$(CC) \$(FLAGS) \$(CFLAGS) -o \$(TARGET) \$(OBJECTS) %.o: %.cpp \$(CC) \$(FLAGS) \$(CFLAGS) -c -o \$@ \$< tags: \$(SOURCES) \$(CTAGS) \$(SOURCES) clean: -rm -f \$(OBJECTS) \$(TARGET) .PHONY: all profile release debug clean