According to ports(7), gen Recreate configure machinery if needed, mainly used by GNU based software that wants autogen/autoconf/automake.
It doesn't seem to work for me. The example is a (github-tag-produced) tar.gz of libsndfile 1.1.0 which does not contain ./configure; the actual port (just updated) uses .tar.xz and cmake, it's just an example. With the Makefile below (try it): $ make fetch ===> Checking files for libsndfile-1.1.0 `/usr/ports/distfiles/libsndfile-1.1.0.tar.gz' is up to date. $ tar tzf /usr/ports/distfiles/libsndfile-1.1.0.tar.gz | grep configure libsndfile-1.1.0/Scripts/android-configure.sh libsndfile-1.1.0/Scripts/asan-configure.sh libsndfile-1.1.0/Scripts/linux-to-win-cross-configure.sh libsndfile-1.1.0/configure.ac $ make gen ===> Checking files for libsndfile-1.1.0 `/usr/ports/distfiles/libsndfile-1.1.0.tar.gz' is up to date. >> (SHA256) libsndfile-1.1.0.tar.gz: OK ===> libsndfile-1.1.0 depends on: flac-* -> flac-1.4.2 ===> libsndfile-1.1.0 depends on: lame-* -> lame-3.100p1 ===> libsndfile-1.1.0 depends on: libogg-* -> libogg-1.3.5 ===> libsndfile-1.1.0 depends on: libvorbis-* -> libvorbis-1.3.7 ===> libsndfile-1.1.0 depends on: mpg123-* -> mpg123-1.31.0 ===> libsndfile-1.1.0 depends on: opus-* -> opus-1.3.1 ===> Verifying specs: FLAC c m mp3lame mpg123 ogg opus sndio vorbis vorbisenc ===> found FLAC.13.0 c.96.4 m.10.1 mp3lame.2.2 mpg123.7.2 ogg.6.2 opus.1.3 sndio.7.2 vorbis.9.0 vorbisenc.3.1 ===> Extracting for libsndfile-1.1.0 ===> Patching for libsndfile-1.1.0 ===> Compiler link: clang -> /usr/bin/clang ===> Compiler link: clang++ -> /usr/bin/clang++ ===> Compiler link: cc -> /usr/bin/cc ===> Compiler link: c++ -> /usr/bin/c++ ===> Generating configure for libsndfile-1.1.0 ^^^^^^^^^^^^^^^^^^^^ $ make configure ===> Configuring for libsndfile-1.1.0 Using /usr/ports/pobj/libsndfile-1.1.0/config.site (generated) env: ./configure: No such file or directory Indeed, no ./configure file was created in WRKSRC. Is there an example of a port where make gen is actualy used? Jan COMMENT= library to handle various audio file formats GH_ACCOUNT= libsndfile GH_PROJECT= libsndfile GH_TAGNAME= 1.1.0 CATEGORIES= audio HOMEPAGE= https://libsndfile.github.io/libsndfile/ MAINTAINER= Jan Stary <h...@stare.cz> SHARED_LIBS += sndfile 7.0 # .1.28 # LGPLv2.1 PERMIT_PACKAGE= Yes WANTLIB= FLAC c m mp3lame mpg123 ogg opus sndio vorbis vorbisenc CONFIGURE_STYLE=gnu LIB_DEPENDS= audio/flac \ audio/lame \ audio/libogg \ audio/libvorbis \ audio/mpg123 \ audio/opus NO_TEST= Yes .include <bsd.port.mk>