1CXXFLAGS     = -O2 -std=c++11 -I..
2CXXFLAGS    += -Wall -pedantic -Wextra
3SPP_DEPS_1   =  spp.h spp_utils.h spp_dlalloc.h spp_traits.h spp_config.h
4SPP_DEPS     = $(addprefix ../sparsepp/,$(SPP_DEPS_1))
5TARGETS      = emplace hash_std serialize_file serialize_stream serialize_large
6
7ifeq ($(OS),Windows_NT)
8    LDFLAGS  = -lpsapi
9else
10    OS = $(shell uname -s)
11    ifeq ($(OS),Linux)
12        CXXFLAGS        += -D_XOPEN_SOURCE=700
13    endif
14    ifeq ($(OS),FreeBSD)
15	LDFLAGS		= -lkvm
16    endif
17endif
18
19all: $(TARGETS)
20
21clean:
22	rm -f $(TARGETS) ages.dmp data.dat vsprojects/x64/* vsprojects/x86/*
23
24%: %.cc $(SPP_DEPS) makefile
25	$(CXX) $(CXXFLAGS) -DNDEBUG $< -o $@ $(LDFLAGS)
26
27