include ../../version.conf

MAJOR := $(major)
MINOR := $(minor)
PATCH := $(patch)
VERSION := $(MAJOR).$(MINOR).$(PATCH)

SOURCES = $(wildcard *.cpp)
HEADERS = $(wildcard *.h)
OBJECTS = $(SOURCES:.cpp=.o)

USER_INCDIR ?= -I/usr/include/wk2gtkpdf
USER_LIBDIR ?=
INIT_SYS := $(shell if [ -d /run/systemd/system ]; then echo systemd; else echo dinit; fi)

CXXFLAGS += -DAPP_VERSION=\"$(VERSION)\"

# Detect Engine
ifneq (,$(findstring -DUSE_WEBKIT_6,$(CXXFLAGS) $(CPPFLAGS) $(DEB_CXXFLAGS_MAINT_APPEND)))
	ENGINE_SUFFIX = -6
else
	ENGINE_SUFFIX = -4
endif

# ONLY evaluate these if we aren't cleaning
ifeq (,$(filter clean distclean uninstall,$(MAKECMDGOALS)))

    PC_NAME = wk2gtkpdf$(ENGINE_SUFFIX)

    ifeq ($(INIT_SYS),systemd)
        # Standard production path: include libsystemd queries
        PKG_CPP := $(shell pkg-config --cflags $(PC_NAME) libsystemd)
        PKG_LIB := $(shell pkg-config --libs $(PC_NAME) libsystemd)
	SYS_CXXFLAGS = -DUSE_SYSTEMD
    else
        SYS_CXXFLAGS =
        ifeq ($(INIT_SYS),dinit)
            PKG_CPP := $(shell pkg-config --cflags $(PC_NAME))
            PKG_LIB := $(shell pkg-config --libs $(PC_NAME))
        endif
    endif

    CPPFLAGS += $(USER_INCDIR) $(PKG_CPP)
    LDLIBS   += $(USER_LIBDIR) $(PKG_LIB)

endif


PREFIX ?= /usr
BINDIR = $(PREFIX)/bin

wkgtk-html2pdf: $(OBJECTS)
	$(CXX) $(CXXFLAGS) $(SYS_CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)

%.o: %.cpp
	$(CXX) $(CXXFLAGS) $(SYS_CXXFLAGS) $(CPPFLAGS) -c $<

clean:
	rm -f $(OBJECTS) wkgtk-html2pdf

install:
	install -Dm755 -t $(DESTDIR)$(BINDIR) wkgtk-html2pdf
ifneq ($(INIT_SYS),systemd)
	install -d -m 1777 $(DESTDIR)/var/log/wkgtk-html2pdf
endif


uninstall:
	rm -f $(DESTDIR)$(BINDIR)/wkgtk-html2pdf

.PHONY: distclean
distclean: clean
	rm -f wkgtk-html2pdf
