SuSE Linux Command Paths
This sample unixcmds_suse_linux_macros.cfg file specifies a fairly typical set of command paths for programs you might reference elsewhere in your PIKT configuration. Note how, by the use of the '#if suse93' and #elsif suse90' preprocessor directives, we can customize paths based on the SuSE Linux version number. Note also the "local defs" section at the very bottom of this file, where you may specify program-and-command-option combinations, set local program paths, and customize your command macros in other ways.
With this setup, if you reference the =egrep and =awk macros in a filter statement, for example,
filter "=egrep '^[A-Z]' | =awk 'NF==7'"
the piktc preprocessor would render this on a SuSE Linux system as
filter "/usr/bin/egrep '^[A-Z]' | /usr/bin/awk 'NF==7'"
Compare this with unixcmds_redhat_linux_macros.cfg.
To generate this file, you might make use of the sample script mkunixcmds.
The SuSE Linux command paths macro specification file (truncated for brevity's sake) follows.
/////////////////////////////////////////////////////////////////////////////// // // unixcmds_suse_linux_macros.cfg -- SuSE Linux command and program paths // // this file is based on suse linux 9.3 & 9.0 systems // /////////////////////////////////////////////////////////////////////////////// #if suse /////////////////////////////////////////////////////////////////////////////// # if suse93 3c515-diag /usr/sbin/3c515-diag 3c5x9setup /usr/sbin/3c5x9setup 3Ddiag /usr/bin/3Ddiag 3Ddiag.devel /usr/bin/3Ddiag.devel 3Ddiag.dri /usr/bin/3Ddiag.dri 3Ddiag.ignoredb /usr/bin/3Ddiag.ignoredb 3Ddiag.nvidia_glx /usr/bin/3Ddiag.nvidia_glx 3Ddiag-result /usr/bin/3Ddiag-result 3Ddiag.runtime /usr/bin/3Ddiag.runtime 3dinfo /usr/bin/3dinfo [...] zjsdecode /usr/bin/zjsdecode zless /usr/bin/zless zmore /usr/bin/zmore znew /usr/bin/znew zoo /usr/bin/zoo zsh /usr/bin/zsh zsoelim /usr/bin/zsoelim zvbi-chains /usr/bin/zvbi-chains zvbid /usr/sbin/zvbid zynaddsubfx /usr/bin/zynaddsubfx /////////////////////////////////////////////////////////////////////////////// # elsif suse90 [much the same but with some differences...] # endif // suse90 /////////////////////////////////////////////////////////////////////////////// // local defs dfi =df -i -t ext2 dfk =df -k dfl =df -k -t ext2 dusk =du -sk lsC =ls -C ll =ls -l lld =ls -ld lp =lpr -P psall =ps aux mailx =mail nawk =awk mailq /usr/bin/mailq rsh =ssh /////////////////////////////////////////////////////////////////////////////// #endif // suse ///////////////////////////////////////////////////////////////////////////////
For more examples, see Samples.