NetBSD Wiki/pkgsrc/
targets
pkgsrc targets
It was proposed that we document all pkgsrc targets, but this is unreasonable and useless. Most targets are ancilliary ones; they exist because that's how make(1) works. Only few of them are useful for regular work.
The following targets may be useful to invoke from keyboard:
- depends to build and install dependencies
 - fetch to fetch distribution file(s)
 - checksum to fetch and check distribution file(s)
 - extract to look at unmodified source
 - patch to look at initial source
 - configure to stop after configure stage
 - all or build to stop after build stage
 - stage-install to install under stage directory
 - test to run package's self-tests, if any exist and supported
 - package to create binary package before installing it
 - replace to change (upgrade, downgrade, or just replace) installed package in-place
 - deinstall to deinstall previous package
 - package-install to install package and build binary package
 - install to install package
 - bin-install to attempt to skip building from source and use pre-built binary package
 - show-depends print dependencies for building
 - show-options print available options from options.mk
 
Cleanup targets (in separate section because of importance):
- clean-depends to remove work directories for dependencies
 - clean to remove work directory
 - distclean to remove distribution file(s)
 - package-clean to remove binary package
 
The following targets are useful in development and thus may be useful for an advanced user:
- makesum to fetch and generate checksum for distributed file(s)
 - makepatchsum to (re)generate checksum for patches
 - makedistinfo to (re)generate distinfo file (creating checksums for distributed file and patches)
 - mps short for makepatchsum
 - mdi short for makedistinfo
 - print-PLIST to attempt to generate correct packaging list (NB! It helps, but it doesn't eliminate manual work.)
 
For example, package updating looks like this:
su root -c "make depends clean-depends clean" # to catch new dependencies rm -f distinfo && su root -c "make makesum clean" && make makepatchsum make clean && make stage-install # build # modify patches make makepatchsum # and build again, or make makepatchsum && make clean && make patch # until all patches apply, if they failed at first make print-PLIST | diff -u PLIST - # modify PLIST make install-clean # to remove cached PLISTs and "installation done" marker make stage-install # modify PLIST again or build again make test # just to check for regressions su root -c "make package deinstall bin-install" # or su root -c "make package replace"
