1PROGRAM = dsbdriverd 2DBFILE = drivers.db 3RCSCRIPT = rc.d/${PROGRAM} 4MANFILE = man/${PROGRAM}.8 5LOGFILE = /var/log/${PROGRAM}.log 6PIDFILE = /var/run/${PROGRAM}.pid 7PREFIX ?= /usr/local 8CFGDIR = ${PREFIX}/etc/${PROGRAM} 9BINDIR = ${PREFIX}/libexec 10MANDIR = ${PREFIX}/man/man8 11RCDIR = ${PREFIX}/etc/rc.d 12DBDIR = ${PREFIX}/share/${PROGRAM} 13USBDB = ${PREFIX}/share/usbids/usb.ids 14PCIDB0 = ${PREFIX}/share/pciids/pci.ids 15PCIDB1 = /usr/share/misc/pci_vendors 16CFGFILE = config.lua 17CFGMODULES = netif.lua 18SOURCES = ${PROGRAM}.c config.c device.c log.c 19INSTALL_TARGETS= ${PROGRAM} ${RCSCRIPT} ${CFGFILE} ${MANFILE} 20PROGRAM_FLAGS = -Wall ${CFLAGS} ${CPPFLAGS} -DPROGRAM=\"${PROGRAM}\" 21PROGRAM_FLAGS += -DPATH_DRIVERS_DB=\"${DBDIR}/${DBFILE}\" 22PROGRAM_FLAGS += -DPATH_LOG=\"${LOGFILE}\" 23PROGRAM_FLAGS += -DPATH_PID_FILE=\"${PIDFILE}\" 24PROGRAM_FLAGS += -DPATH_CFG_FILE=\"${CFGDIR}/${CFGFILE}\" 25PROGRAM_FLAGS += -DPATH_PCIID_DB0=\"${PCIDB0}\" 26PROGRAM_FLAGS += -DPATH_PCIID_DB1=\"${PCIDB1}\" 27PROGRAM_FLAGS += -DPATH_USBID_DB=\"${USBDB}\" 28PROGRAM_FLAGS += -L${PREFIX}/lib -I${PREFIX}/include/lua52 29PROGRAM_LIBS = -lusb -lutil -llua-5.2 30LUA_PROG ?= lua52 31BSD_INSTALL_DATA ?= install -m 0644 32BSD_INSTALL_SCRIPT ?= install -m 555 33BSD_INSTALL_PROGRAM ?= install -s -m 555 34 35all: ${INSTALL_TARGETS} 36 37${PROGRAM}: ${SOURCES} 38 ${CC} -o ${PROGRAM} ${PROGRAM_FLAGS} ${.ALLSRC} ${PROGRAM_LIBS} 39 40${RCSCRIPT}: ${RCSCRIPT}.tmpl 41 sed -e 's|@PATH_PROGRAM@|${BINDIR}/${PROGRAM}|g' \ 42 -e 's|@PATH_PIDFILE@|${PIDFILE}|g' \ 43 < ${.ALLSRC} > ${RCSCRIPT} 44 45${CFGFILE}: ${CFGFILE}.in 46 sed -e 's|@MODULE_PATH@|${CFGDIR}|g' < ${.ALLSRC} > ${CFGFILE} 47 48${MANFILE}: ${MANFILE}.tmpl 49 sed -e 's|@PATH_DB@|${DBDIR}/${DBFILE}|g' \ 50 -e 's|@PATH_LOG@|${LOGFILE}|g' \ 51 -e 's|@PATH_CFG@|${CFGDIR}/${CFGFILE}|g' \ 52 < ${.ALLSRC} > ${MANFILE} 53 54install: ${INSTALL_TARGETS} 55 ${BSD_INSTALL_PROGRAM} ${PROGRAM} ${DESTDIR}${BINDIR} 56 ${BSD_INSTALL_SCRIPT} ${RCSCRIPT} ${DESTDIR}${RCDIR} 57 if [ ! -d ${DESTDIR}${DBDIR} ]; then \ 58 mkdir -p ${DESTDIR}${DBDIR}; \ 59 fi 60 if [ ! -d ${DESTDIR}${CFGDIR} ]; then \ 61 mkdir -p ${DESTDIR}${CFGDIR}; \ 62 fi 63 ${BSD_INSTALL_DATA} ${DBFILE} ${DESTDIR}${DBDIR} 64 ${BSD_INSTALL_DATA} ${MANFILE} ${DESTDIR}${MANDIR} 65 if [ ! -f ${DESTDIR}${CFGDIR}/${CFGFILE} ]; then \ 66 ${BSD_INSTALL_DATA} ${CFGFILE} ${DESTDIR}${CFGDIR}; \ 67 fi 68 ${BSD_INSTALL_DATA} ${CFGFILE} ${DESTDIR}${CFGDIR}/${CFGFILE}.sample 69 ${BSD_INSTALL_DATA} ${CFGMODULES} ${DESTDIR}${CFGDIR} 70 71readme: readme.mdoc 72 mandoc -mdoc readme.mdoc | perl -e 'foreach (<STDIN>) { \ 73 $$_ =~ s/(.)\x08\1/$$1/g; $$_ =~ s/_\x08(.)/$$1/g; print $$_ \ 74 }' | sed '1,1d' > README 75 76readmemd: readme.mdoc 77 mandoc -mdoc -Tmarkdown readme.mdoc | sed '1,1d; $$,$$d' > README.md 78 79tests/${PROGRAM}-test: ${SOURCES} tests/test.h 80 ${CC} -o tests/${PROGRAM}-test ${PROGRAM_FLAGS} \ 81 -Wno-unused-function -Itests -DTEST=1 \ 82 ${SOURCES} ${PROGRAM_LIBS} -latf-c 83 84test: tests/${PROGRAM}-test 85 kyua test -k tests/Kyuafile 86 ${LUA_PROG} tests/netif_tests.lua 87 88clean: 89 -rm -f ${PROGRAM} 90 -rm -f ${RCSCRIPT} 91 -rm -f ${CFGFILE} 92 -rm -f ${MANFILE} 93 -rm -f tests/${PROGRAM}-test 94