# BSD Makefile for dfuibe_lua.
# $Id: Makefile,v 1.27 2005/01/29 01:53:57 cpressey Exp $

# Note that this Makefile does not use the <bsd.foo.mk> magic;
# it was as much starting to get in the way as help.

OSTYPE!=sysctl -n kern.ostype
INSTALL_FILE?=install -C
DFUIBE_LUA_DIR?=/usr/local/share/dfuibe_lua

SRCS=	common.c \
	bitwise.c \
	dfui.c progress.c \
	pipe.c fs.c \
	pty.c \
	lua_gettext.c

CFLAGS+=-Wall
.ifdef DEBUG
CFLAGS+= -DDEBUG -g 
.endif
CFLAGS+=-I/usr/local/include

.if ${OSTYPE} == "NetBSD"
CFLAGS+=-DNETBSD_LIBEDIT
CFLAGS+=-I/usr/pkg/include
LDADD+= -L/usr/pkg/lib
.endif

LDADD+=	-L/usr/local/lib/ -lutil -ldfui -laura -lm -llua -llualib

PACKAGE=	dfuibe_lua

.if defined(WITH_NLS)
LOCALEDIR=	/usr/local/share/locale
CFLAGS+=	-DLOCALEDIR=\"${LOCALEDIR}\"
CFLAGS+=	-DPACKAGE=\"${PACKAGE}\"
CFLAGS+=	-DENABLE_NLS
LDADD+=		-lintl
LANGUAGES=	ru
.endif

all: so/dfuibe_lua.so

so/dfuibe_lua.so: ${SRCS}
	[ -d so ] || mkdir so
	${CC} ${CFLAGS} ${SRCS} -static ${LDADD} -shared -o so/dfuibe_lua.so

install: all
	rm -rf ${DFUIBE_LUA_DIR}
	[ -d ${DFUIBE_LUA_DIR} ] || mkdir ${DFUIBE_LUA_DIR}
	[ -d ${DFUIBE_LUA_DIR}/so ] || mkdir ${DFUIBE_LUA_DIR}/so
	[ -d ${DFUIBE_LUA_DIR}/lib ] || mkdir ${DFUIBE_LUA_DIR}/lib
	[ -d ${DFUIBE_LUA_DIR}/conf ] || mkdir ${DFUIBE_LUA_DIR}/conf
	[ -d ${DFUIBE_LUA_DIR}/scripts ] || mkdir ${DFUIBE_LUA_DIR}/scripts
	[ -d ${DFUIBE_LUA_DIR}/scripts/demo ] || mkdir ${DFUIBE_LUA_DIR}/scripts/demo
	[ -d ${DFUIBE_LUA_DIR}/scripts/demo/lib ] || mkdir ${DFUIBE_LUA_DIR}/scripts/demo/lib
	[ -d ${DFUIBE_LUA_DIR}/scripts/demo/conf ] || mkdir ${DFUIBE_LUA_DIR}/scripts/demo/conf
	[ -d ${DFUIBE_LUA_DIR}/scripts/demo/pit ] || mkdir ${DFUIBE_LUA_DIR}/scripts/demo/pit
	[ -d ${DFUIBE_LUA_DIR}/scripts/demo/install ] || mkdir ${DFUIBE_LUA_DIR}/scripts/demo/install
	[ -d ${DFUIBE_LUA_DIR}/scripts/demo/configure ] || mkdir ${DFUIBE_LUA_DIR}/scripts/demo/configure
	[ -d ${DFUIBE_LUA_DIR}/scripts/demo/configure/menu ] || mkdir ${DFUIBE_LUA_DIR}/scripts/demo/configure/menu
	${INSTALL_FILE} -o root -g wheel -m 444 dfuibe.lua ${DFUIBE_LUA_DIR}/
	${INSTALL_FILE} -o root -g wheel -m 444 so/*.so ${DFUIBE_LUA_DIR}/so/
	${INSTALL_FILE} -o root -g wheel -m 444 lib/*.lua ${DFUIBE_LUA_DIR}/lib/
	${INSTALL_FILE} -o root -g wheel -m 444 scripts/demo/*.lua ${DFUIBE_LUA_DIR}/scripts/demo/
	${INSTALL_FILE} -o root -g wheel -m 444 scripts/demo/lib/*.lua ${DFUIBE_LUA_DIR}/scripts/demo/lib/
	${INSTALL_FILE} -o root -g wheel -m 444 scripts/demo/conf/*.lua ${DFUIBE_LUA_DIR}/scripts/demo/conf/
	${INSTALL_FILE} -o root -g wheel -m 444 scripts/demo/pit/*.lua ${DFUIBE_LUA_DIR}/scripts/demo/pit/
	${INSTALL_FILE} -o root -g wheel -m 444 scripts/demo/install/*.lua ${DFUIBE_LUA_DIR}/scripts/demo/install/
	${INSTALL_FILE} -o root -g wheel -m 444 scripts/demo/configure/*.lua ${DFUIBE_LUA_DIR}/scripts/demo/configure/
	${INSTALL_FILE} -o root -g wheel -m 444 scripts/demo/configure/menu/*.lua ${DFUIBE_LUA_DIR}/scripts/demo/configure/menu/
.if defined(WITH_NLS)
	for _language in ${LANGUAGES}; \
	do (cd po && msgfmt -o $${_language}.mo $${_language}); \
	${INSTALL_FILE} -o root -g wheel -m 444 po/$${_language}.mo ${LOCALEDIR}/$${_language}/LC_MESSAGES/${PACKAGE}.mo; \
	done
.endif

clean:
	rm -rf so/*.so po/*.mo

NLS_SRCS=scripts/test/main.lua dfuibe.lua

pot:
	cat ${NLS_SRCS} | sed 's/\-\-/\/\//' | xgettext -C --no-location --keyword=_ -o po/${PACKAGE}.pot -
