# makefile — builds the scb_counts executable against the SCB C++
# library delivered in ccs_json-bundles.zip (see the accompanying
# article: docs/ccs_json_and_benchmarking.pdf, section 5).
#
# Source: authored in b3u_use_cases (ships in ccs_json_bench-code.zip
# beside scb_counts.cc).
#
# Layout assumed (the delivery layout from section 2 of the article):
#   ~/ccsUseCases/ccs_json/scbcpp   the SCB C++ library
#                                   (include/ + lib/libscbcpp.a)
#   ~/ccsUseCases/ccs_json/cpp      the cpp bundle dir holding
#                                   jsonKeyWordDefinition.h
# Override any variable on the command line, e.g.:
#   make CCS_JSON_HOME=/path/to/ccs_json

CCS_JSON_HOME ?= $(HOME)/ccsUseCases/ccs_json
SCBCPP        ?= $(CCS_JSON_HOME)/scbcpp
CPP_BUNDLE    ?= $(CCS_JSON_HOME)/cpp

CXX      ?= g++
CXXFLAGS ?= -std=c++17 -O2 -Wall -fno-strict-aliasing

scb_counts: scb_counts.cc
	$(CXX) $(CXXFLAGS) -I$(SCBCPP)/include -I$(CPP_BUNDLE) \
	  scb_counts.cc $(SCBCPP)/lib/libscbcpp.a -o scb_counts

clean:
	rm -f scb_counts

.PHONY: clean
