#
# ~src/ppr/papsrv/Makefile
# Copyright 1995, 1996, 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 19 February 1997.
#

include ../include/global.mk

# The default make target.  This does nothing if $(ALLATALK)
# is not defined.  It will not be defined if we don't
# have AppleTalk.
all: $(ALLATALK)

# The install target.  This also does nothing if we
# don't have AppleTalk.
install: $(INSTALLATALK) $(HOMEDIR)/bin/papsrv_kill

# List if things to build if we have AppleTalk.
allatalk: papsrv

# List if things to install if we have AppleTalk.
installatalk: $(HOMEDIR)/bin/papsrv$(DOTEXE)

# Procedure to install the AppleTalk print server.
$(HOMEDIR)/bin/papsrv$(DOTEXE): papsrv$(DOTEXE)
	rm -f $(HOMEDIR)/bin/papsrv$(DOTEXE)
	$(CP) papsrv$(DOTEXE) $(HOMEDIR)/bin/papsrv$(DOTEXE)
	chmod 6711 $(HOMEDIR)/bin/papsrv$(DOTEXE)

# Install the kill program
$(HOMEDIR)/bin/papsrv_kill: papsrv_kill.sh
	$(INSTALLSCRIPT) papsrv_kill.sh $(HOMEDIR)/bin/papsrv_kill

# Here is were we actually build the program.
papsrv$(DOTEXE): papsrv.$(OBJ) papsrv_$(ATALKTYPE).$(OBJ) papsrv_query.$(OBJ) \
		papsrv_conf.$(OBJ) papsrv_ppd_parse.$(OBJ) papsrv_authorize.$(OBJ) \
		../libppr.$(LIBEXT) ../libpprdb.$(LIBEXT)
	$(CC) $(CFLAGS) -o papsrv papsrv.$(OBJ) \
		papsrv_$(ATALKTYPE).$(OBJ) papsrv_query.$(OBJ) papsrv_conf.$(OBJ) \
		papsrv_ppd_parse.$(OBJ) papsrv_authorize.$(OBJ) \
		$(LIB_LEX) $(ATALKLIBS) ../libppr.$(LIBEXT) $(DBLIBS) $(OSFLIBS)
	$(STRIP) papsrv$(DOTEXE)
	chmod 6711 papsrv$(DOTEXE)

papsrv.$(OBJ): papsrv.c ../include/global_defines.h ../include/papsrv.h \
		../include/ppr_exits.h ../include/util_exits.h \
		../include/version.h
	$(CC) $(CFLAGS) -c papsrv.c

papsrv_$(ATALKTYPE).$(OBJ): papsrv_$(ATALKTYPE).c \
		../include/global_defines.h ../include/papsrv.h \
		../include/pap_proto.h ../include/cap_proto.h
	$(CC) $(CFLAGS) -c papsrv_$(ATALKTYPE).c

papsrv_query.$(OBJ): papsrv_query.c ../include/papsrv.h ../include/global_defines.h
	$(CC) $(CFLAGS) -c papsrv_query.c

papsrv_conf.$(OBJ): papsrv_conf.c ../include/papsrv.h ../include/global_defines.h
	$(CC) $(CFLAGS) -c papsrv_conf.c

papsrv_ppd_parse.$(OBJ): papsrv_ppd_parse.c ../include/papsrv.h ../include/global_defines.h
	$(CC) $(CFLAGS) -c papsrv_ppd_parse.c

papsrv_ppd_parse.c: papsrv_ppd_parse.l
	$(LEX) -v papsrv_ppd_parse.l
	mv lex.yy.c papsrv_ppd_parse.c

papsrv_authorize.$(OBJ): papsrv_authorize.c ../include/global_defines.h \
		../include/userdb.h ../include/papsrv.h
	$(CC) $(CFLAGS) -c papsrv_authorize.c

# clean up
clean:
	rm -f *.$(OBJ) *.bak *~ papsrv$(DOTEXE) papsrv_ppd_parse.c

# end of file
