The mere existence of a do-configure target in a port Makefile causes the main Makefile in the working directory not to be generated: ******************************* pre-configure ****************************** echo "WRKSRC=" /usr/ports/graphics/ufraw-devel/work/ufraw-6d3259a WRKSRC= /usr/ports/graphics/ufraw-devel/work/ufraw-6d3259a ls -l /usr/ports/graphics/ufraw-devel/work/ufraw-6d3259a/configure* /usr/ports/graphics/ufraw-devel/work/ufraw-6d3259a/Makefile* -rw-r--r-- 1 root wheel 3944 Mar 22 13:37 /usr/ports/graphics/ufraw-devel/work/ufraw-6d3259a/Makefile.am -rw-r--r-- 1 root wheel 3944 Nov 12 2016 /usr/ports/graphics/ufraw-devel/work/ufraw-6d3259a/Makefile.am.bak -rw-r--r-- 1 root wheel 12256 Nov 12 2016 /usr/ports/graphics/ufraw-devel/work/ufraw-6d3259a/configure.ac configure.ac:11: installing './compile' configure.ac:6: installing './config.guess' configure.ac:6: installing './config.sub' configure.ac:8: installing './install-sh' configure.ac:8: installing './missing' Makefile.am: installing './depcomp' ===> Building for ufraw-devel-g20161113 gmake[2]: Entering directory '/usr/ports/graphics/ufraw-devel/work/ufraw-6d3259a' gmake[2]: Makefile: No such file or directory gmake[2]: *** No rule to make target 'Makefile'. Stop. gmake[2]: Leaving directory '/usr/ports/graphics/ufraw-devel/work/ufraw-6d3259a' *** Error code 1 This can be tested/verified by adding do-configure: right before the .include <bsd.port.mk> on the graphics/ufraw port. 10.3-RELEASE-p24 FreeBSD 10.3-RELEASE-p24 #0: Wed Nov 15 04:57:40 UTC 2017 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
I'm not sure about this but 224024 may be related to this. I don't understand that bug but see it mentions using do-configure in the distutils target.
(In reply to freebsd from comment #0) > The mere existence of a do-configure target in a port Makefile causes the main Makefile in the working directory not to be generated: This is normal. The do-configure target normally runs the configure script that generates the Makefile unless you overwrite it which you have done. It is not really clear from your description what you intend to do.
If generating a configure file is a requirement of do-configure, that should be noted in the Porter's Handbook, along with an example of how to do it. In my case, I have a patch which only needs to modify Makefile.in. The intent was to modify Makefile.in and let the configuration process continue normally.
The configure script is ran in do-configure. If you overwrite do-configure, then, of course, the configure script never rans.