# $NetBSD: Makefile,v 1.3 2025/07/23 01:14:07 agc Exp $

.include <bsd.own.mk>

PROG=	ldis
SRCS+=	main.c
LDADD+=	-L${.CURDIR} -Wl,-R${.CURDIR} -lldis
CPPFLAGS+=	-I${DIST}
MAN=	ldis.1
WARNS=	5

.sinclude "../namespace.mk"

DIST=	${.CURDIR}/../dist
.PATH: ${DIST}

LIB_LDIS_DIR!= cd ${.CURDIR}/../lib && ${PRINTOBJDIR}
LDADD+=         -Wl,-R${LIB_LDIS_DIR} -L${LIB_LDIS_DIR} -lldis
DPADD+=         ${LIB_LDIS_DIR}/libldis.a

.ifndef PRODUCTION
CPPFLAGS+=	-g -O0
LDFLAGS+=	-g -O0
.endif

BINDIR=	/usr/bin

.include <bsd.prog.mk>

t: ${PROG}
	@echo "1. basics - hello"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} hello.out > 1.lass
	diff 1.expected 1.lass
	rm -f 1.lass
	@echo "2. basics - add"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} add.out > 2.lass
	diff 2.expected 2.lass
	rm -f 2.lass
	@echo "3. basics - fib"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} fib.out > 3.lass
	diff 3.expected 3.lass
	rm -f 3.lass
	@echo "4. multiple functions"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} f3.out > 4.lass
	diff 4.expected 4.lass
	rm -f 4.lass
	@echo "5. multiple functions, verbose"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} -v f3.out > 5.lass
	diff 5.expected 5.lass
	rm -f 5.lass
	@echo "6. get version"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} -V > 6.lass
	diff 6.expected 6.lass
	rm -f 6.lass
	@echo "7. floats, large program"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} jacobi-sor.out > 7.lass
	diff 7.expected 7.lass
	rm -f 7.lass
	@echo "8. instructions for large program"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} -i jacobi-sor.out > 8.lass
	diff 8.expected 8.lass
	rm -f 8.lass
#	@echo "9. checking out assembler instructions"
#	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./test-lass.sh
	@echo "10. basics - hello 5.5 binary"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} hello55.out > 10.lass
	diff 10.expected 10.lass
	rm -f 10.lass
	@echo "11. basics - hello 5.5 binary"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} -v hello55.out > 11.lass
	diff 11.expected 11.lass
	rm -f 11.lass
	@echo "12. basics - add 5.5 binary"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} add55.out > 12.lass
	diff 12.expected 12.lass
	rm -f 12.lass
	@echo "13. basics - add 5.5 binary"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} fib55.out > 13.lass
	diff 13.expected 13.lass
	rm -f 13.lass
	@echo "14. basics - f3 5.5 binary"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} f355.out > 14.lass
	diff 14.expected 14.lass
	rm -f 14.lass
	@echo "15. basics - jacobi-sor 5.5 binary"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} jacobi-sor55.out > 15.lass
	diff 15.expected 15.lass
	rm -f 15.lass
	@echo "16. basics - jacobi-sor 5.5 binary, no debug"
	env LD_LIBRARY_PATH=${LIB_LDIS_DIR} ./${PROG} jacobi-sor55.out > 16.lass
	diff 16.expected 16.lass
	rm -f 16.lass
