## ## Tupfile for kakoune ## by lenormf ## ## How to use: ## Initialize a tup database in the main directory with `tup init` ## Create a symlink from `contrib/Tupfile` to `src/Tupfile` ## Start the build with the `tup` command ## .gitignore debug = yes static = no suffix = .opt CXX = g++ CXXFLAGS = -pedantic -std=gnu++11 -Wall -Wno-reorder -Wno-sign-compare -Wno-address CPPFLAGS = LDFLAGS = LIBS = ifeq ($(debug),yes) CXXFLAGS += -g CPPFLAGS += -DKAK_DEBUG suffix = .debug else CXXFLAGS += -O3 endif ifeq ($(static),yes) LIBS += -ltinfo -lgpm LDFLAGS += -static -pthread endif ifeq (@(TUP_PLATFORM),macosx) LIBS += -lncurses CPPFLAGS += -I/usr/local/opt/ncurses/include LDFLAGS += -L/usr/local/opt/ncurses/lib else ifeq (@(TUP_PLATFORM),win32) LIBS += -lncursesw -ldbghelp CPPFLAGS += -D_XOPEN_SOURCE=700 else LIBS += -lncursesw CPPFLAGS += -I/usr/include/ncursesw ifeq ($(CXX),g++) LDFLAGS += -rdynamic endif endif endif ifeq ($(CXX),clang++) CXXFLAGS += -Wno-unknown-attributes endif !cxx = |> $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c %f -o %o |> !ld = |> $(CXX) $(LDFLAGS) $(LIBS) %f -o %o |> !ln = |> ln -sf %f %o |> :foreach *.cc |> !cxx |> %B$(suffix).o {objects} :{objects} |> !ld |> kak$(suffix) :kak$(suffix) |> !ln |> kak