Oct 041998

Building a port – background info on make

In previous diary notes (Changing the shell and DHCP (again)) I wrote that a symbolic link should be created when building a port.  This is not necessary.  Perhaps it was once necessary because that’s what is done in the Compiling ports from CDROM section of the FreeBSD Handbook.

A bit about make

One of the best features of the make process is the fetch process.  If the files it needs cannot be found, make will go and fetch the file for you.  It searches a list of file locations and uses the first location which succeeds.

If you examine /usr/share/mk/bsd.port.mk, you’ll find that it modifies the URL search path and adds file:/crdom/ports/distfiles.   This tells the make process to search your CDROM.  If the device is not mounted, the fetch will fail and the search process continues with the next location in the list.

It is because of this search process that the following should be enough to build your port:

# #installer usually leaves /cdrom in fstab
# #which means you don't have to do much to mount it
# mount /cdrom
# cd /usr/ports/foo/bar
# make install