# BuildSystemHeader added automatically
# $Header: [Makefile,v 1.1.1.1 91/08/07 12:54:14 afuller Exp ]$
# @(#)Makefile	1.11  (ULTRIX)  9/5/90

HELPDIR =		/usr/lib/X11/help
APPDEFAULTSDIR = 	/usr/lib/X11/app-defaults

AWK =		awk
INSTALL =	install
LINT =		lint
MKDIR =		mkdir
SED =		sed
MAKEDEPEND =	../../../util/makedepend/makedepend

# dxuil

UINCLUDES =	-I. -I$(DESTDIR)/usr/include/X11 
UFLAGS =	$(UDEFINES) $(UINCLUDES) $(UDEBUGFLAGS)

DXUIL =		$(DESTDIR)/usr/bin/dxuil

# cc

CINCLUDES =	-I. -I$(DESTDIR)/usr/include/X11 -I$(DESTDIR)/usr/include \
		-I/usr/include/idl/c \
		-I../uamd
CFLAGS =	$(CDEFINES) $(CINCLUDES) $(CDEBUGFLAGS)

# libs

DWTLIB =	$(DESTDIR)/usr/lib/libdwt.a
XLIB =		$(DESTDIR)/usr/lib/libX11.a
NCKLIB =	-lnck
KRBLIBS =	-lkrb -lknet -lkdb -ldes -lacl
LIBCLIENT =	../uamd/libclient.a
LIBMSG =	../uamd/libmsg.a
LIBUAMD =	../uamd/libuamd.a

LIBS =		$(LIBUAMD) $(LIBMSG) $(DWTLIB) $(XLIB)
RLIBS =		$(LIBCLIENT) $(DWTLIB) $(XLIB) $(KRBLIBS) $(NCKLIB)

#
# rules
#

.SUFFIXES: .src .obj

.c.src:
	#load $(CFLAGS) $<

.o.obj:
	#load $(CFLAGS) $<

#
# srcs and objs
#

SRCS =		mainv10e.c accadm.c show_btn.c \
		remove_btn.c save_btn.c add_btn.c rename_btn.c \
		new_btn.c mod_def_btn.c \
		passwd.c secgr.c diskquotas.c acctlist.c pardir.c \
		loginsh.c templates.c pwd_gr.c rem_acts.c new_acts.c \
		misc_rpc_calls.c dB.c \
		message.c optionlist.c utilities.c \
		ToggleBox.c ToggleBoxCBinding.c \
		cslist.c list.c \
		watch.c xhandler.c \
		handle.c \
		pwconvert.c grconvert.c \
		acc_debug.c PText.c uam_trig.c uam_log.c uam_common.c \
		rsm_lib_olst.c rsm_lib_dll.c \
		help.c uam_pwfo.c \
		uam_home.c uam_filesys.c uam_pwfile.c uam_grfile.c \
		move_focus.c kerb_client.c uam_I18N.c

OBJS =		$(SRCS:.c=.o) pwfile_handle.o grfile_handle.o

#
# uils
#

UID =		uam.uid

WINDOW_UILS =	accadmv10e.uil \
		passwd.uil \
		secgr.uil \
		diskquotas.uil \
		acctlist.uil \
		pardir.uil \
		loginsh.uil \
		templates.uil \
		pwd_gr.uil \
		rem_acts.uil \
		new_acts.uil

VALUES_UILS =	accadmv10e_values.uil \
		passwd_values.uil \
		secgr_values.uil \
		diskquotas_values.uil \
		acctlist_values.uil \
		pardir_values.uil \
		loginsh_values.uil \
		templates_values.uil \
		pwd_gr_values.uil \
		rem_acts_values.uil \
		new_acts_values.uil

COMMON_UILS =	common_values.uil \
		PText.uil \
		help.uil \
		uam_messages.uil

UILS =		$(WINDOW_UILS) $(VALUES_UILS) $(COMMON_UILS)

#
# dependencies
#

all:			uam_messages.h $(UID) dxuam

rall:			uam_messages.h $(UID) dxruam

uam_messages.h:		uam_messages.uil
	$(SED) -n -f uam_messages.sed $? > $@

$(UID):			mainv10e.uil $(UILS)	
	$(DXUIL) $(UFLAGS) mainv10e.uil -o $@

accadmv10e_values.uil:	accadm_values.h
	$(AWK) -f def_to_uil.awk $? > $@
acctlist_values.uil:	acctlist_values.h
	$(AWK) -f def_to_uil.awk $? > $@
diskquotas_values.uil:	diskquotas_values.h
	$(AWK) -f def_to_uil.awk $? > $@
loginsh_values.uil:	loginsh_values.h
	$(AWK) -f def_to_uil.awk $? > $@
pardir_values.uil:	pardir_values.h
	$(AWK) -f def_to_uil.awk $? > $@
passwd_values.uil:	passwd_values.h
	$(AWK) -f def_to_uil.awk $? > $@
secgr_values.uil:	secgr_values.h
	$(AWK) -f def_to_uil.awk $? > $@
pwd_gr_values.uil:	pwd_gr_values.h
	$(AWK) -f def_to_uil.awk $? > $@
templates_values.uil:	templates_values.h
	$(AWK) -f def_to_uil.awk $? > $@
new_acts_values.uil:	new_acts_values.h
	$(AWK) -f def_to_uil.awk $? > $@
rem_acts_values.uil:	rem_acts_values.h
	$(AWK) -f def_to_uil.awk $? > $@

dxuam:			$(OBJS)
	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS)  $(LIBS) -o $@

dxruam:			$(OBJS)
	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(RLIBS) -o $@

pwfile_handle.o:	etcfile_handle.c handle.h
	$(CC) -c $(CFLAGS) -DINTERFACE=pwfile etcfile_handle.c
	$(MV) etcfile_handle.o $@

grfile_handle.o:	etcfile_handle.c handle.h
	$(CC) -c $(CFLAGS) -DINTERFACE=grfile etcfile_handle.c
	$(MV) etcfile_handle.o $@

#
# relink
#

relink::
	-$(RM) -f dxuam $(UID)

relink:: all

rrelink::
	-$(RM) -f dxruam $(UID)

rrelink:: rall

#
# install
#

install: all
	$(INSTALL) -c -m 755 dxuam    $(DESTDIR)/usr/bin
	$(INSTALL) -c -m 644 uam.uid  $(DESTDIR)/usr/lib/X11/uid
	$(INSTALL) -c -m 644 Uam      $(DESTDIR)$(APPDEFAULTSDIR)
	-$(MKDIR) $(DESTDIR)$(HELPDIR)/uam
	$(INSTALL) -c -m 644 About    $(DESTDIR)$(HELPDIR)/uam/About
	$(INSTALL) -c -m 644 Overview $(DESTDIR)$(HELPDIR)/uam/Overview
	$(INSTALL) -c -m 644 Objects  $(DESTDIR)$(HELPDIR)/uam/Objects

rinstall: rall
	$(INSTALL) -c -m 755 dxruam   $(DESTDIR)/usr/bin
	$(INSTALL) -c -m 644 uam.uid  $(DESTDIR)/usr/lib/X11/uid
	$(INSTALL) -c -m 644 Uam      $(DESTDIR)$(APPDEFAULTSDIR)
	-$(MKDIR) $(DESTDIR)$(HELPDIR)/uam
	$(INSTALL) -c -m 644 About    $(DESTDIR)$(HELPDIR)/uam/About
	$(INSTALL) -c -m 644 Overview $(DESTDIR)$(HELPDIR)/uam/Overview
	$(INSTALL) -c -m 644 Objects  $(DESTDIR)$(HELPDIR)/uam/Objects

#
# clean
#

clean:
	$(RM) -f *.o *~ \#* *.bak *.a *.uid core \
		$(VALUES_UILS) uam_messages.h dxuam dxruam

#
# lint
#

lint:			uam_messages.h
	$(LINT) $(CFLAGS) $(SRCS)

#
# saber
#

saber_src: uam_messages.h $(SRCS) $(UID)
	#load $(CFLAGS) $(SRCS) $(LIBS)

saber_obj: uam_messages.h $(OBJS) $(UID)
	#load $(CFLAGS) $(OBJS) $(LIBS)

rsaber_src: uam_messages.h $(SRCS) $(UID)
	#load $(CFLAGS) $(SRCS) $(RLIBS)

rsaber_obj: uam_messages.h $(OBJS) $(UID)
	#load $(CFLAGS) $(OBJS) $(RLIBS)

#
# depend
#

depend:			uam_messages.h
	$(MAKEDEPEND) $(CFLAGS) $(SRCS)

# DO NOT DELETE THIS LINE -- make depend depends on it.
