These utilities are intended to be simple, easily sandboxed, pipeline
components for audio processing, and the `au(7)' file-format is used as
an intermediary because of its simplicity.
Building:
Automatically build a majority of utilities:
$ make
cc -o auconv au.c common.c auconv.c
...
Build all possible utilities with some automatic configuration:
$ make all-magic
cc -o auconv au.c common.c auconv.c
...
Build a specific utility with some automatic configuration:
$ make auconv-magic
cc -o auconv au.c common.c auconv.c
Build a specific utility:
$ make auconv
cc -o auconv au.c common.c auconv.c
Install built utilities to the `PREFIX'
specified in the `Makefile':
$ make install
install -m 444 au.7 /usr/local/man/man7/
install -m 755 auconv /usr/local/bin/
install -m 444 auconv.1 /usr/local/man/man1/
...
Install built utilities to your `HOME' directory:
$ make install-local
install -m 755 auconv /home/user/bin/
...
Makefile Options:
PREFIX - Install-path prefix. (ex. `/usr/local')
MANDIR - The man-page sub-directory. (ex. `share/man')
C Macros:
`USE_CAPSICUM' & `USE_PLEDGE' are automatically added by
default `make(1)' target, when applicable.
BSIZE - The default buffer size.
USE_CAPSICUM - Use capsicum(4) for process restriction.
USE_PLEDGE - Use OpenBSD pledge(2) for process restriction.
NAMEMAX - The maximum size for the program name
(used in the buffer in the `SIGINFO' handler)
CBSIZE - The size of the command buffer in file2au(1)
AUOSS_DSP - The default /dev/dsp* device for auoss(1)
SDL_BSIZE - The size of the internal buffer in ausdl(1)
Portability:
The `Makefile' uses `pkg-config(1)' and `install(1)'.
`au2flac(1)' and `flag2au(1)' uses `libFLAC'.
`au2vorbis(1)' and `vorbis2au(1)' uses `libogg', `libvorbis',
`libvorbisfile', and `libvorbisenc'.
`mpg2au(1)' uses `libmpg123'.
`au2mpg(1)' uses `libmp3lame'.
`aualsa(1)' uses `libasound'.
`auaudio(1)' uses `sys/audioio.h'.
`auoss(1)' uses `sys/soundcand.h' or `libossaudio'.
`auportaudio(1)' uses `libportaudio'.
`ausdl(1)' uses `libSDL2'.
`ausndio(1)' uses `libsndio'.
`err(3)' and `sysexits(3)' are frequently used.
`getprogname(3)' and `setprogname(3)' are used.
When `USE_CAPSICUM' or `USE_PLEDGE' are specified their
corresponding interfaces are used.