# Makefile for vgetty

# You have to define CFLAGS to match your system, check
# the comments in the mgetty Makefile.
#
# Nothing to change below this line

VGETTY_CFLAGS=-I.. -DVOICE -DVOICE_DIR=\"$(VOICE_DIR)\" \
	-DZYXEL_R610=$(ZYXEL_R610)

SPEAKOBJS=zplay.o voclib.o vpaths.o ../logfile.o ../locks.o ../io.o \
	../tio.o ../getdisk.o 
VGETTYOBJS=vgetty.o vanswer.o voclib.o vpaths.o \
	../logfile.o ../do_chat.o ../utmp.o ../logname.o ../login.o \
	../faxrec.o ../faxsend.o ../locks.o ../faxlib.o ../faxhng.o \
	../io.o ../gettydefs.o ../tio.o ../config.o ../cnd.o ../getdisk.o

all:
	cd ..; $(MAKE) vgetty

install:
	cd ..; $(MAKE) vgetty-install

vgetty-all: vgetty zplay pvf

.c.o:
	$(CC) -c $(VGETTY_CFLAGS) $(CFLAGS) $*.c -o $*.o

zplay: $(SPEAKOBJS)
	$(CC) -o zplay $(SPEAKOBJS) $(LDFLAGS)

vgetty: $(VGETTYOBJS)
	$(CC) -o vgetty $(VGETTYOBJS) $(LDFLAGS)

vgetty.c:
	@echo Making vgetty.c from ../mgetty.c
	$(LN) ../mgetty.c vgetty.c
#	patch -p0 <patches

../policy.h:
	@echo
	@echo "You didn't build mgetty first. Please read the documentation."
	@echo
	@exit 1

LINKS=pvfcut pvfecho pvfreverse pvfspeed pvfamp pvfmix \
	adpcmtopvf pvftoadpcm2 pvftoadpcm3 pvftoau autopvf \
	pvftolin lintopvf basictopvf pvftobasic pvftovoc voctopvf

PVFOBJS = pvfmain.o pvfutil.o pvfadpcm.o pvfau.o pvflin.o pvfvoc.o pvflib.o

pvf: pvfmain $(LINKS)

$(PVFOBJS): pvflib.h

pvfmain: $(PVFOBJS)
	$(CC) -o pvfmain $(PVFOBJS)

$(LINKS): pvfmain
	for i in $(LINKS); do rm -f $$i; $(LN) pvfmain $$i; done

EXT_PROGS = vg_dtmf vg_message vg_button vg_nmp vg_say

vgetty-install: vgetty-all $(EXT_PROGS)
	cp zplay pvfmain $(BINDIR)
	chmod 755 $(BINDIR)/zplay $(BINDIR)/pvfmain
	cd $(BINDIR); for i in $(LINKS); do rm -f $$i; $(LN) pvfmain $$i; done
	cp pvf.1 $(MAN1DIR)/pvf.1
	chmod 444 $(MAN1DIR)/pvf.1
	cd $(MAN1DIR); for i in $(LINKS); \
		do rm -f $$i.1; $(LN) pvf.1 $$i.1; done
	[ -d $(VOICE_DIR) ] || mkdir $(VOICE_DIR)
	[ -d $(VOICE_DIR)/incoming ] || mkdir $(VOICE_DIR)/incoming
	[ -d $(VOICE_DIR)/messages ] || mkdir $(VOICE_DIR)/messages
	for i in $(EXT_PROGS); do \
		sed "s|@@@VDIR@@@|$(VOICE_DIR)|" <$$i >$(VOICE_DIR)/$$i ; \
		chmod 755 $(VOICE_DIR)/$$i ; \
		done
	[ -f $(VOICE_DIR)/.code ] || echo '12345' >$(VOICE_DIR)/.code
	[ -f $(VOICE_DIR)/messages/Index ] || \
		 echo 'put_filename_here' >$(VOICE_DIR)/messages/Index
	@echo
	@echo vgetty must be installed manually, check the README.
	@echo

patches: ../mgetty.c vgetty.c
	-diff -c ../mgetty.c vgetty.c >patches

# note: patches not included anymore
SFILES=README CHANGES TODO rsynth-0.9.linuxA.pch speakdate \
	Makefile vanswer.c voclib.h voclib.c zplay.c vpaths.c \
	$(EXT_PROGS) \
	pvf.1 pvfmain.c pvfutil.c pvfadpcm.c pvfau.c \
	pvflin.c pvfvoc.c pvflib.c pvflib.h

MANIFEST: $(SFILES)
	ls -l $(SFILES) >MANIFEST

FILES=$(SFILES) MANIFEST

REL=05pl6
AF=vgetty-$(REL).tgz

tar: $(FILES)
	tar cvvzf $(AF) -C .. `for i in $(FILES); do echo voice/$$i; done`

clean:
	rm -f *.o $(LINKS)

fullclean:
	rm -f *.o vgetty zplay pvfmain $(LINKS)

#### dependencies
phontoau.o : phontoau.c 
pvfadpcm.o : pvfadpcm.c pvflib.h 
pvfau.o : pvfau.c pvflib.h 
pvflib.o : pvflib.c pvflib.h 
pvfmain.o : pvfmain.c pvflib.h 
pvfutil.o : pvfutil.c pvflib.h 
vanswer.o : vanswer.c ../mgetty.h ../fax_lib.h voclib.h ../policy.h 
vgetty.o : vgetty.c ../mgetty.h ../tio.h ../policy.h voclib.h
voclib.o : voclib.c ../mgetty.h voclib.h ../tio.h 
zplay.o : zplay.c ../mgetty.h voclib.h ../policy.h 
../do_chat.o : ../do_chat.c ../mgetty.h ../tio.h 
../faxlib.o : ../faxlib.c ../mgetty.h ../fax_lib.h 
../faxrec.o : ../faxrec.c ../mgetty.h ../tio.h ../policy.h ../fax_lib.h 
../gettydefs.o : ../gettydefs.c ../mgetty.h ../policy.h 
../io.o : ../io.c ../mgetty.h 
../locks.o : ../locks.c ../mgetty.h ../policy.h 
../logfile.o : ../logfile.c ../mgetty.h ../policy.h 
../logname.o : ../logname.c ../mgetty.h ../policy.h ../tio.h 
../mgetty.o : ../mgetty.c ../mgetty.h ../tio.h ../policy.h 
../sendfax.o : ../sendfax.c ../mgetty.h ../tio.h ../policy.h ../fax_lib.h 
../tio.o : ../tio.c ../mgetty.h ../tio.h
../utmp.o : ../utmp.c ../mgetty.h 
