include toc.make

S11N_NS ?= s11n

NAMESPACE_PREFIX = src/

NS_SOURCES = $(addprefix $(NAMESPACE_PREFIX),\
	s11nlite.cpp \
	)


NS_HEADERS = $(addprefix $(NAMESPACE_PREFIX),\
	s11nlite.h \
	)

FILE_FILTERS = namespace
namespace_FILTER_RULES = -e 's|S11N_NS|$(S11N_NS)|g'
namespace_FILTER_NAMESED = s,$(NAMESPACE_PREFIX),,
namespace_FILTER_SOURCES = $(NS_SOURCES) $(NS_HEADERS)
namespace-notice:
	@echo "Package namespace is $(S11N_NS)."
FILE_FILTERS: namespace-notice
include $(TOC_MAKESDIR)/FILE_FILTERS.make


# Be careful with SOURCES/HEADERS, lest they be cleaned up when you don't
# want them to be. Simplest is to put everything into NS_{HEADERS/SOURCES} and expect
# them to be filtered by sed.
SOURCES = \
	$(patsubst $(NAMESPACE_PREFIX)%,%,$(NS_SOURCES)) 
HEADERS = \
	$(patsubst $(NAMESPACE_PREFIX)%,%,$(NS_HEADERS)) 


OBJECTS = $(patsubst %.cpp,%.o,$(SOURCES))
objects: $(OBJECTS)

INSTALL_PACKAGE_HEADERS_DEST = $(prefix)/include/$(S11N_NS)
INSTALL_PACKAGE_HEADERS = $(HEADERS)


# DIST_FILES += $(sort $(wildcard *.cpp) $(wildcard *.h) $(wildcard *.make))
DIST_FILES += $(wildcard *.at) $(NS_SOURCES) $(NS_HEADERS)

SYMLINK_HEADERS = $(INSTALL_PACKAGE_HEADERS)
SYMLINK_HEADERS_DEST = $(top_srcdir)/include/$(S11N_NS)
include $(TOC_MAKESDIR)/symlink_headers.make

all: FILE_FILTERS symlink-headers $(OBJECTS)

