#
# ~ppr/src/pprdrv/Makefile
# Copyright 1995, 1996, 1997, Trinity College Computing Center.
# Written by David Chappell.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted, provided
# that the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation.  This software is provided "as is" without express or
# implied warranty.
#
# Last modified 21 March 1997.
#

include ../include/global.mk

pprdrv$(DOTEXE): pprdrv.$(OBJ) pprdrv_feedback.$(OBJ) pprdrv_flag.$(OBJ) \
		pprdrv_buf.$(OBJ) pprdrv_ppd.$(OBJ) pprdrv_ppd_parse.$(OBJ) \
		pprdrv_res.$(OBJ) pprdrv_capable.$(OBJ) pprdrv_media.$(OBJ) \
		pprdrv_nup.$(OBJ) pprdrv_req.$(OBJ) pprdrv_signature.$(OBJ) \
		pprdrv_reason.$(OBJ) pprdrv_patch.$(OBJ) \
		pprdrv_commentary.$(OBJ) pprdrv_tt.$(OBJ) \
		pprdrv_tt2.$(OBJ) pprdrv_progress.$(OBJ) \
		pprdrv_lw_messages.$(OBJ) pprdrv_notppd.$(OBJ) \
		pprdrv_persistent.$(OBJ) \
		../libppr.$(LIBEXT) ../libpprdb.$(LIBEXT)
	$(CC) $(CFLAGS) -o pprdrv pprdrv.$(OBJ) pprdrv_feedback.$(OBJ) pprdrv_flag.$(OBJ) \
		pprdrv_buf.$(OBJ) pprdrv_ppd.$(OBJ) pprdrv_ppd_parse.$(OBJ) \
		pprdrv_res.$(OBJ) pprdrv_capable.$(OBJ) pprdrv_media.$(OBJ) \
		pprdrv_nup.$(OBJ) pprdrv_req.$(OBJ) pprdrv_signature.$(OBJ) \
		pprdrv_reason.$(OBJ) pprdrv_patch.$(OBJ) \
		pprdrv_commentary.$(OBJ) pprdrv_tt.$(OBJ) \
		pprdrv_tt2.$(OBJ) pprdrv_progress.$(OBJ) \
		pprdrv_lw_messages.$(OBJ) pprdrv_notppd.$(OBJ) \
		pprdrv_persistent.$(OBJ) \
		../libppr.$(LIBEXT) $(LIB_LEX) $(DBLIBS) $(SOCKLIBS) $(OSFLIBS)
	$(STRIP) pprdrv$(DOTEXE)

pprdrv.$(OBJ): pprdrv.c ../include/global_defines.h ../include/global_structs.h \
		../include/pprdrv.h ../include/interface.h \
		../include/interfaces.h ../include/userdb.h
	$(CC) $(CFLAGS) -c pprdrv.c

pprdrv_feedback.$(OBJ): pprdrv_feedback.c ../include/global_defines.h \
		../include/global_structs.h ../include/pprdrv.h
	$(CC) $(CFLAGS) -c pprdrv_feedback.c

pprdrv_flag.$(OBJ): pprdrv_flag.c ../include/global_defines.h ../include/global_structs.h \
		../include/pprdrv.h ../include/userdb.h
	$(CC) $(CFLAGS) -c pprdrv_flag.c

pprdrv_buf.$(OBJ): pprdrv_buf.c ../include/global_defines.h ../include/pprdrv.h
	$(CC) $(CFLAGS) -c pprdrv_buf.c

pprdrv_ppd.$(OBJ): pprdrv_ppd.c ../include/global_defines.h ../include/pprdrv.h \
		../include/global_structs.h
	$(CC) $(CFLAGS) -c pprdrv_ppd.c

pprdrv_ppd_parse.$(OBJ): pprdrv_ppd_parse.c ../include/pprdrv.h ../include/global_defines.h
	$(CC) $(CFLAGS) -c pprdrv_ppd_parse.c

pprdrv_ppd_parse.c: pprdrv_ppd_parse.l ../include/global_defines.h \
		../include/pprdrv.h ../include/interface.h
	$(LEX) -v pprdrv_ppd_parse.l
	mv lex.yy.c pprdrv_ppd_parse.c

pprdrv_res.$(OBJ): pprdrv_res.c ../include/global_defines.h \
		../include/pprdrv.h ../include/global_structs.h \
		../include/interface.h
	$(CC) $(CFLAGS) -c pprdrv_res.c

pprdrv_capable.$(OBJ): pprdrv_capable.c ../include/global_defines.h \
		../include/global_structs.h \
		../include/pprdrv.h ../include/interface.h
	$(CC) $(CFLAGS) -c pprdrv_capable.c

pprdrv_media.$(OBJ): pprdrv_media.c ../include/global_defines.h ../include/pprdrv.h \
		../include/interface.h
	$(CC) $(CFLAGS) -c pprdrv_media.c

pprdrv_nup.$(OBJ): pprdrv_nup.c ../include/global_defines.h ../include/global_structs.h \
		../include/pprdrv.h ../include/interface.h
	$(CC) $(CFLAGS) -c pprdrv_nup.c

pprdrv_req.$(OBJ): pprdrv_req.c ../include/global_defines.h \
		../include/global_structs.h ../include/pprdrv.h
	$(CC) $(CFLAGS) -c pprdrv_req.c

pprdrv_signature.$(OBJ): pprdrv_signature.c ../include/global_defines.h \
		../include/interface.h
	$(CC) $(CFLAGS) -c pprdrv_signature.c

pprdrv_reason.$(OBJ): pprdrv_reason.c ../include/global_defines.h \
		../include/pprdrv.h ../include/interface.h
	$(CC) $(CFLAGS) -c pprdrv_reason.c

pprdrv_patch.$(OBJ): pprdrv_patch.c ../include/global_defines.h \
		../include/pprdrv.h ../include/interface.h
	$(CC) $(CFLAGS) -c pprdrv_patch.c

pprdrv_commentary.$(OBJ): pprdrv_commentary.c ../include/global_defines.h \
		../include/pprdrv.h
	$(CC) $(CFLAGS) -c pprdrv_commentary.c

pprdrv_tt.$(OBJ): pprdrv_tt.c ../include/global_defines.h ../include/pprdrv.h \
		../include/interface.h ../include/truetype.h
	$(CC) $(CFLAGS) -DTT_DBM_$(TT_DBM) -c pprdrv_tt.c

pprdrv_tt2.$(OBJ): pprdrv_tt2.c ../include/global_defines.h \
		../include/pprdrv.h ../include/truetype.h \
		../include/interface.h
	$(CC) $(CFLAGS) -c pprdrv_tt2.c

pprdrv_progress.$(OBJ): pprdrv_progress.c ../include/global_defines.h \
		../include/pprdrv.h ../include/global_structs.h
	$(CC) $(CFLAGS) -c pprdrv_progress.c

pprdrv_lw_messages.$(OBJ): pprdrv_lw_messages.c ../include/global_defines.h \
		../include/pprdrv.h
	$(CC) $(CFLAGS) -c pprdrv_lw_messages.c

pprdrv_notppd.$(OBJ): pprdrv_notppd.c ../include/global_defines.h \
		../include/pprdrv.h
	$(CC) $(CFLAGS) -c pprdrv_notppd.c

# Copy into bin, but no need to make setuid.
install: $(HOMEDIR)/lib/pprdrv$(DOTEXE) $(CONFDIR)/lw_errors.conf \
	$(CONFDIR)/lw_status.conf

$(HOMEDIR)/lib/pprdrv$(DOTEXE): pprdrv$(DOTEXE)
	$(RMF) $(HOMEDIR)/lib/pprdrv$(DOTEXE)
	$(CP) pprdrv$(DOTEXE) $(HOMEDIR)/lib/pprdrv$(DOTEXE)
	chmod 711 $(HOMEDIR)/lib/pprdrv$(DOTEXE)

$(CONFDIR)/lw_errors.conf: lw_errors.conf
	$(CP) lw_errors.conf $(CONFDIR)/lw_errors.conf

$(CONFDIR)/lw_status.conf: lw_status.conf
	$(CP) lw_status.conf $(CONFDIR)/lw_status.conf

clean:
	$(RMF) *.bak *~ *.$(OBJ) pprdrv_ppd_parse.c pprdrv$(DOTEXE)

# end of file
