# The engine program, cross-built against the WebKit build
# (build/webkit-dest) and the pkgsrc sysroot (build/pkgroot). Inside
# the distrobox:  distrobox enter netbsd-librem -- make -C extra-apps/browser/engine
TOP!=	cd ../../.. && pwd
CC=	${TOP}/build/tools/bin/aarch64--netbsd-gcc
SYSROOT=${TOP}/build/destdir
PKGROOT=${TOP}/build/pkgroot
WKDEST=	${TOP}/build/webkit-dest
OUT=	${TOP}/build/webengine
PKGCFG=	PKG_CONFIG_LIBDIR=${PKGROOT}/usr/pkg/lib/pkgconfig PKG_CONFIG_SYSROOT_DIR=${PKGROOT} pkg-config
GLIB_CFLAGS!=	${PKGCFG} --cflags glib-2.0 gio-2.0 gobject-2.0 libpng
GLIB_LIBS!=	${PKGCFG} --libs glib-2.0 gio-2.0 gobject-2.0 libpng
CFLAGS=	--sysroot=${SYSROOT} -O2 -g -Wall -Wextra -Wno-unused-parameter \
	-I${WKDEST}/usr/pkg/include/wpe-webkit-2.0 -I${WKDEST}/usr/pkg/include/wpe-webkit-2.0/wpe-platform \
	-I${PKGROOT}/usr/pkg/include/libsoup-3.0 ${GLIB_CFLAGS}
LDFLAGS=-L${WKDEST}/usr/pkg/lib -L${PKGROOT}/usr/pkg/lib -Wl,-rpath-link,${PKGROOT}/usr/pkg/lib -Wl,-rpath-link,${WKDEST}/usr/pkg/lib \
	-Wl,-rpath,/usr/pkg/lib
LIBS=	-lWPEWebKit-2.0 ${GLIB_LIBS} -lexecinfo

# The whole engine: the packages (once), WebKit (the long part), the
# engine program, the tarball. `make engine` alone is the program.
all: deps webkit engine

deps:
	python3 ${TOP}/extra-apps/browser/engine/fetch-deps.py

webkit:
	${TOP}/extra-apps/browser/engine/build.sh all

engine: ${OUT}/lovely-webengine

phone:
	${TOP}/extra-apps/browser/engine/install-phone.sh

.PHONY: all deps webkit engine phone clean

${OUT}/lovely-webengine: src/lovely-webengine.c src/wpe-lovely.c src/wpe-lovely.h
	mkdir -p ${OUT}
	${CC} ${CFLAGS} -o $@ src/lovely-webengine.c src/wpe-lovely.c ${LDFLAGS} ${LIBS}

clean:
	rm -f ${OUT}/lovely-webengine
