utils/kbd/ndmake.sh
$ cat ndmake.sh
#!/bin/sh -ue
NAME=kbd
VERSION=git
RELEASE=1
SOURCE="https://github.com/legionus/kbd.git
	kbd-hell.patch"
BUILD_STYLE=hell
BUILD_OPT="-DCHECK_PKG= -DEXTRA_PKG= -DCHECK_LIB= \
	-DPAM_LIBS= -DPAM_MISC_LIBS= -DCOND_VLOCK=0 \
	-DLDFLAGS=\"$LDFLAGS\""

prebuild() {
	sed -i \
		-e 's#libcommon/libcommon\.a#$(top_builddir)/src/libcommon/libcommon.a#g' \
		-e '/^COMMON_LIBS[[:space:]]*=[[:space:]]*\\/,/^\$(CODE_COVERAGE_LIBS)[[:space:]]*$/ { /^\t@INTLLIBS@[[:space:]]*\\$/i\
\t$(ZLIB_LIBS) \\
\t$(BZIP2_LIBS) \\
\t$(LZMA_LIBS) \\
\t$(ZSTD_LIBS) \\
}' \
		-e 's#^resizecons_LDADD[[:space:]]*=.*#resizecons_LDADD      = $(top_builddir)/src/libkbdfile/libkbdfile.a $(COMMON_LIBS)#' \
		-e 's#^clrunimap_LDADD[[:space:]]*=.*#clrunimap_LDADD       = $(top_builddir)/src/libkfont/libkfont.a $(top_builddir)/src/libkbdfile/libkbdfile.a $(COMMON_LIBS)#' \
		-e 's#^getunimap_LDADD[[:space:]]*=.*#getunimap_LDADD       = $(top_builddir)/src/libkfont/libkfont.a $(top_builddir)/src/libkbdfile/libkbdfile.a $(COMMON_LIBS)#' \
		-e 's#^loadunimap_LDADD[[:space:]]*=.*#loadunimap_LDADD      = $(top_builddir)/src/libkfont/libkfont.a $(top_builddir)/src/libkbdfile/libkbdfile.a $(COMMON_LIBS)#' \
		-e 's#^mapscrn_LDADD[[:space:]]*=.*#mapscrn_LDADD         = $(top_builddir)/src/libkfont/libkfont.a $(top_builddir)/src/libkbdfile/libkbdfile.a $(COMMON_LIBS)#' \
		-e 's#^psfxtable_LDADD[[:space:]]*=.*#psfxtable_LDADD       = $(top_builddir)/src/libkfont/libkfont.a $(top_builddir)/src/libkbdfile/libkbdfile.a $(COMMON_LIBS)#' \
		-e 's#^setfont_LDADD[[:space:]]*=.*#setfont_LDADD         = $(top_builddir)/src/libkfont/libkfont.a $(top_builddir)/src/libkbdfile/libkbdfile.a $(COMMON_LIBS)#' \
		-e 's#^showconsolefont_LDADD[[:space:]]*=.*#showconsolefont_LDADD = $(top_builddir)/src/libkfont/libkfont.a $(top_builddir)/src/libkbdfile/libkbdfile.a $(COMMON_LIBS)#' \
		-e 's#^dumpkeys_LDADD[[:space:]]*=.*#dumpkeys_LDADD        = $(top_builddir)/src/libkeymap/libkeymap.a $(top_builddir)/src/libkbdfile/libkbdfile.a $(COMMON_LIBS)#' \
		-e 's#^loadkeys_LDADD[[:space:]]*=.*#loadkeys_LDADD        = $(top_builddir)/src/libkeymap/libkeymap.a $(top_builddir)/src/libkbdfile/libkbdfile.a $(COMMON_LIBS)#' \
		src/Makefile.am
}

build() {
	msg "configuring with demiurge..."
	demiurge || msg "demiurge failed"
	
	msg "generating with satan..."
	satan gen ${BUILD_OPT} PREFIX="$PREFIX" DESTDIR="$PKG" || die "satan gen failed"

	sed -i \
		-e 's# libcommon/libcommon\.a# src/libcommon/libcommon.a#g' \
		-e 's# libkeymap/libkeymap\.a# src/libkeymap/libkeymap.a#g' \
		-e 's# libkbdfile/libkbdfile\.a# src/libkbdfile/libkbdfile.a#g' \
		-e 's# libkfont/libkfont\.a# src/libkfont/libkfont.a#g' \
		-e 's#src/libkfont/libkfont\.a src/libcommon/libcommon\.a#src/libkfont/libkfont.a src/libkbdfile/libkbdfile.a src/libcommon/libcommon.a#g' \
		-e 's#\\./src/libkfont/libkfont\.a \\./src/libcommon/libcommon\.a#./src/libkfont/libkfont.a ./src/libkbdfile/libkbdfile.a ./src/libcommon/libcommon.a#g' \
		src/build.ninja

	samu || die "samu build failed"
	samu install || die "samu install failed"
}

. ${0%/*}/../../libsh/libdmake.sh