[ X$(make -V __ARCH_OK) == "X1" ] && make fetch
but as SirDice said, there are very few ports that depend on $ARCH
		
		
	 
Can you give more details on how to use?
For example:
root@n43s:/usr/ports/sysutils # make fetch
...
===>   adtool-1.3.3_3 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by adtool-1.3.3_3 for building
===> afbinit
===>  afbinit-1.0_4 is only for sparc64, while you are running amd64.
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/sysutils/afbinit
*** Error code 1
Stop.
root@n43s:/usr/ports/sysutils # make fetch-recursive
make: don't know how to make fetch-recursive. Stop
make: stopped in /usr/ports/sysutils
root@n43s:/usr/ports/sysutils #
"FREEBSD HANDBOOK...
5.5.1.1. Customizing Ports Installation
Some ports provide build options which can be used to      enable or disable application components, provide security      options, or allow for other customizations.  Examples      include 
www/firefox,      
security/gpgme, and      
mail/sylpheed-claws.      If the port depends upon other ports which have configurable      options, it may pause several times for user interaction      as the default behavior is to prompt the user to select      options from a menu.  To avoid this, run make        config-recursive within the port skeleton to do      this configuration in one batch.  Then, run make        install [clean] to compile and install the      port.
Tip:
When using        config-recursive, the list of        ports to configure are gathered by the        all-depends-list target.  It is        recommended to run make          config-recursive until all dependent ports        options have been defined, and ports options screens no        longer appear, to be certain that all dependency options        have been configured.
There are several ways to revisit a port's build options      menu in order to add, remove, or change these options after      a port has been built.  One method is to      cd into the directory containing the      port and type make config.  Another      option is to use make showconfig.      Another option is to execute make        rmconfig which will remove all selected options      and allow you to start over.  All of these options, and      others, are explained in great detail in      
ports(7).
The ports system uses 
fetch(1) to download the      source files, which supports various environment variables.      The FTP_PASSIVE_MODE,      FTP_PROXY, and FTP_PASSWORD      variables may need to be set if the FreeBSD system is behind      a firewall or FTP/HTTP proxy.  See 
fetch(3) for the      complete list of supported variables.
For users who cannot be connected to the Internet all      the time, make fetch can be run within      /usr/ports, to fetch all distfiles, or      within a category, such as      /usr/ports/net, or within the specific      port skeleton.  Note that if a port has any dependencies,      running this command in a category or ports skeleton will      
not fetch the distfiles of ports from      another category.  Instead, use make        fetch-recursive to also fetch the distfiles for      all the dependencies of a port.
... "