# Generated automatically from Makefile.in by configure.
# $Id: Makefile.in,v 1.30 1998/12/11 13:53:56 assar Exp $

SHELL		= /bin/sh

srcdir		= .

#CC	= cc -std0
CC	= gcc
LD		= ld
SYMORDER	= :
MODLOAD		= modload
MODUNLOAD	= modunload
MKDIR		= mkdir
RMDIR		= rmdir
LN_S		= ln -s
RM		= rm

INSTALL		= /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA	= ${INSTALL} -m 644
MKINSTALLDIRS 	= ../../mkinstalldirs

prefix 		= /usr/scfs
exec_prefix 	= ${prefix}
libdir 		= ${exec_prefix}/lib
libexecdir 	= ${exec_prefix}/libexec
bindir 		= ${exec_prefix}/bin
transform	= s,x,x,
EXECSUFFIX	= @EXECSUFFIX@

XFS_BIN		= $(MODULE)

INCDEFS		= -I. -I$(srcdir) \
		  -I../../include -I$(srcdir)/../../include \
		  -I$(srcdir)/../include \
		  -I/usr/include/kerberosIV

DEFS		= -DHAVE_CONFIG_H $(INCDEFS) -DXFS_DEBUG  -DNI
#CFLAGS= -DKERNEL -D_KERNEL -DLKM -D_LKM -DACTUALLY_LKM_NOT_KERNEL -I/sys/arch -I/sys
CFLAGS	= -g  -Wall -DKERNEL -D_KERNEL -DLKM -D_LKM -DACTUALLY_LKM_NOT_KERNEL -I/sys/arch -I/sys -Wno-unused

SYS		= /usr/src/sys

SUBDIRS		= bin

#MODULE= xfs.mod
MODULE= xfs_mod.o

MODULE_SRCS	= \
		  xfs_deb.c			\
		  xfs_message.c			\
		  xfs_wrap-bsd.c xfs_common-bsd.c xfs_dev-common.c xfs_dev-bsd.c xfs_syscalls-common.c xfs_syscalls-bsd.c xfs_node-bsd.c xfs_vfsops-common.c xfs_vfsops-bsd.c xfs_vnodeops-common.c xfs_vnodeops-bsd.c
#		  xfs_wrap.c
#		  xfs_common.c			\
#		  xfs_dev.c			\
#		  xfs_syscalls.c		\
#		  xfs_node.c			\
#		  xfs_vfsops.c			\
#		  xfs_vnodeops.c		\

MODULE_OBJS	= $(MODULE_SRCS:.c=.o)

all: $(MODULE)

$(MODULE_OBJS): vop_defs.h  vnode_if.h

xfs_mod.o: $(MODULE_OBJS)
	$(LD) -r -o tmp.o $(MODULE_OBJS)
	echo _xfs_mod > symb.tmp
	$(SYMORDER) -c symb.tmp tmp.o
	rm -f symb.tmp
	mv -f tmp.o xfs_mod.o

xfs.mod: $(MODULE_OBJS)
	$(LD) -r -dc -o tmp.o $(MODULE_OBJS)
	mv -f tmp.o xfs.mod

load:	$(MODULE)
#	cp $(MODULE) /subsys
#	sysconfig -c xfs
	$(MODLOAD) -e xfs_mod -o /var/tmp/foo -p $(srcdir)/bin/xfs_makedev xfs_mod.o

unload:
#	sysconfig -u xfs
	$(MODUNLOAD) -n xfs_mod

mount:
		./bin/mount_xfs /dev/xfs0 /afs

umount:
		./bin/umount_xfs /afs

install: all
	$(MKINSTALLDIRS) $(DESTDIR)$(bindir)
	PROG_BIN='$(XFS_BIN)'; for x in $$PROG_BIN; do \
		f=`echo $$x | sed '$(transform)'`; \
		$(INSTALL_PROGRAM) $$x $(DESTDIR)$(bindir)/$$f; \
	done
	if test -d /lkm; then \
		$(INSTALL_PROGRAM) $(MODULE) $(DESTDIR)/lkm/$(MODULE); \
	fi
	if test -d /subsys; then \
		$(INSTALL_PROGRAM) $(MODULE) $(DESTDIR)/subsys/$(MODULE); \
	fi
	cd bin && $(MAKE) $(MFLAGS) install

uninstall:
	PROG_BIN='$(XFS_BIN)'; for x in $$PROG_BIN; do \
		f=`echo $$x | sed '$(transform)'`; \
		rm -f $(DESTDIR)$(bindir)/$$f; \
	done
	cd bin && $(MAKE) $(MFLAGS) uninstall

#vop_defs.h: /usr/include/sys/vnode.h
#	sed -n -e 's/.*(\*vn_\([a-z_]*\).*/\1/p' /usr/include/sys/vnode.h | awk '{print "#define HAVE_VOP_" toupper($$1) " 1" }' > $@

vop_defs.h: $(SYS)/kern/vnode_if.src
	awk '/^vop/ { printf("#define HAVE_%s 1\n", toupper($$1)); }' $(SYS)/kern/vnode_if.src > $@

vnode_if.c: $(SYS)/kern/vnode_if.sh $(SYS)/kern/vnode_if.src
	$(SHELL) $(SYS)/kern/vnode_if.sh $(SYS)/kern/vnode_if.src
vnode_if.h: $(SYS)/kern/vnode_if.sh $(SYS)/kern/vnode_if.src
	-$(MKDIR) ../sys
	$(SHELL) $(SYS)/kern/vnode_if.sh $(SYS)/kern/vnode_if.src && \
	(test -f vnode_if.h || $(LN_S) ../sys/vnode_if.h vnode_if.h)

.c.o:
	$(CC) -c $(CPPFLAGS) $(DEFS) $(CFLAGS) $<

Makefile: Makefile.in ../../config.status
	cd ../.. ; CONFIG_FILES=xfs/bsd/Makefile CONFIG_HEADERS= $(SHELL) config.status

clean: doclean

# This is a workaround so subdirs can be made. 
# You can't have two command-sets for one target
doclean:
	$(RM) -f $(MODULE) *.o *~ vnode_if.h vnode_if.c vop_defs.h

mostlyclean: clean

distclean: clean

realclean: distclean

all clean mostlyclean distclean realclean:
	SUBDIRS='$(SUBDIRS)'; \
	for i in $$SUBDIRS; \
	do (cd $$i && $(MAKE) $(MFLAGS) $@); done

.PHONY: all load clean mostlyclean distclean realclean install uninstall

