On 12.02.2017 20:34, Mikolaj Kucharski wrote: > portcheck didn't complain, make lib-depends-check is happy too. > > However I see that in sources of the app you hardcode `/usr/local` > path. I think it would be better to add to the ports Makefile something > as follows: > > > --- Makefile Thu Feb 9 10:32:39 2017 > +++ Makefile.new Sun Feb 12 19:30:38 2017 > @@ -19,4 +19,8 @@ > > NO_TEST = Yes > > +pre-configure: > + sed -i -e "s,/usr/local,${PREFIX},g;" \ > + ${WRKSRC}/Makefile ${WRKSRC}/dicepassc.c ${WRKSRC}/dicepassc.1 > + > .include <bsd.port.mk>
Hi, thanks for the feedback. You're right, PREFIX isn't honored at all which bothers me too, now that I understand a bit better. I'm actually quite inexperienced with make and thankful that bsd.prog.mk does most of the work for me... Would it be better to handle it in the sources? I did some tests with sed (for the manual) and a preprocessor define (for the c file) to set the paths based on PREFIX. But I wonder if that's overkill... After all it's an OpenBSD-only application. Regards Andre Something like this: PROG= dicepassc SRCS= ${PROG}.c MAN= ${PROG}.1 MDOC= ${PROG}.mdoc PREFIX?= /usr/local BINDIR= ${PREFIX}/bin MANDIR= ${PREFIX}/man/man SHAREDIR= ${PREFIX}/share WORDLISTDIR= ${SHAREDIR}/${PROG} CFLAGS+= -g -W -Wall -Werror CFLAGS+= -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations CFLAGS+= -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare CFLAGS+= -DWORDLISTDIR=${WORDLISTDIR} CLEANFILES+= ${MAN} ${MAN}: ${MDOC} sed -e "s,WORDLISTDIR,${WORDLISTDIR},g" ${MDOC} >${MAN} afterinstall: ${INSTALL} -d -o${SHAREOWN} -g${SHAREGRP} -m${DIRMODE} \ ${DESTDIR}${WORDLISTDIR} ${INSTALL} ${INSTALL_COPY} -o${SHAREOWN} -g${SHAREGRP} -m${SHAREMODE} \ wordlists/diceware.wordlist \ wordlists/eff_large.wordlist \ wordlists/eff_short_1.wordlist \ ${DESTDIR}${WORDLISTDIR} .include <bsd.prog.mk>