# Makefile for cdda2wav, a sampling utility.
#
CDDA2WAVVERSION=0.3alpha

# choose one of the following interfacing and device types.
# the two first are for scsi cdrom devices.
# uncomment one INTERFACE and one DEF_DEVICE line

INTERFACE=	\"generic_scsi\"
DEF_DEVICE=	\"/dev/sgc\"	# set the default cdrom device

#INTERFACE=	\"scsi_ioctl\"	# for scsi cdrom drives recommended
#DEF_DEVICE=	\"/dev/sr0\"	# set the default cdrom device

# for nonscsi cdrom drives with cdda kernel support ie sbpcd
#INTERFACE=	\"cooked_ioctl\"# if kernel supports read cdda 
#DEF_DEVICE=	\"/dev/sbpcd\"	# set the default cdrom device

########## Sound support
#to disable sound support comment the next line
HAVE_SOUND=	-DECHO_TO_SOUNDCARD
SOUND_DEVICE=	\"/dev/dsp\"	# soundcard device when monitoring

# Defaults for wav output file format
                                # set the default sampling rate
DEF_UNDERSAMPLING=	2	# 1, 2, 3, 4, 6,  7, 12, 14, 28 or 49
                                # 44 22 14 11 7.4 6  3.7  3  1.5   0.9 KHz rate

DEF_BITS=	16		# 16, 12 or 8 bits per sample

DEF_CHANNELS=	1		# 1 = mono, 2 = stereo

DEF_TIME=	16		# recording time in seconds

DEF_FILE=	\"audio.wav\"	# default file name for wav sound file

DEFINES=-DCD_DEVICE=$(DEF_DEVICE) -DUNDERSAMPLING=$(DEF_UNDERSAMPLING) \
-DBITS_P_S=$(DEF_BITS) -DCHANNELS=$(DEF_CHANNELS) \
-DDURATION=$(DEF_TIME) -DFILENAME=$(DEF_FILE) -DDEF_INTERFACE=$(INTERFACE) \
$(HAVE_SOUND) -DSOUND_DEV=$(SOUND_DEVICE) -DVERSION=\"$(CDDA2WAVVERSION)\"

MAN_DIRECTORY=/usr/local/man
BIN_DIR=/usr/local/bin
ROOT=root

# End of Configuration ######################################################

#CFLAGS=-Wall -g -N -pipe -m486

CFLAGS=-Wall -O2 -s -N -fomit-frame-pointer -finline-functions -fcaller-saves\
        -funroll-loops -pipe -m486

cdda2wav: cdda2wav.o interface.o
	cc $(CFLAGS) cdda2wav.o interface.o -o cdda2wav

install: cdda2wav.1 cdda2wav
	chmod a+sx cdda2wav
	chown root cdda2wav
	install -m a+xs -o $(ROOT) cdda2wav $(BIN_DIR)
	cp cdda2wav.1 $(MAN_DIRECTORY)/man1

# build distribution package
dist:
	tar cfvz cdda2wav$(CDDA2WAVVERSION).src.tar.gz README Makefile uti.h wav.h \
	interface.h cdda2wav.h cdda2wav.c interface.c HISTORY TODO NOTES \
	cdda2wav.1 cdda2wav.doc # scsi.c.diff scsi_ioctl.diff

cdda2wav.o: cdda2wav.c Makefile wav.h uti.h interface.h cdda2wav.h
	cc $(CFLAGS) $(DEFINES)	-c cdda2wav.c

cdda2wav.s: cdda2wav.c Makefile wav.h uti.h interface.h cdda2wav.h
	cc $(CFLAGS) $(DEFINES)	-S cdda2wav.c

interface.o:	Makefile interface.c interface.h cdda2wav.h
	cc $(CFLAGS) $(DEFINES)	-c interface.c

clean:
	rm *.o
