aboutsummaryrefslogtreecommitdiffstats
path: root/amd/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'amd/Makefile.am')
-rw-r--r--amd/Makefile.am171
1 files changed, 171 insertions, 0 deletions
diff --git a/amd/Makefile.am b/amd/Makefile.am
new file mode 100644
index 000000000000..8be0bfc524f3
--- /dev/null
+++ b/amd/Makefile.am
@@ -0,0 +1,171 @@
+## Process this file with automake to produce Makefile.in
+
+# Package: am-utils
+# Level: Makefile for amd/ directory
+# Author: Erez Zadok
+
+# no need for libaminfo to be yet another dynamic library
+noinst_LIBRARIES = libaminfo.a
+sbin_PROGRAMS = amd sun2amd
+
+# man pages
+man_MANS = amd.8 sun2amd.8
+
+YLWRAP= $(top_srcdir)/ylwrap.amd
+
+# test scripts
+TESTS = test1.sh
+
+# headers this depends on, not to be installed
+noinst_HEADERS = amd.h sun_map.h
+
+# sources which get auto-built (from yacc/lex)
+BUILT_SOURCES = \
+ conf_parse.c conf_parse.h conf_tok.c \
+ sun_map_parse.c sun_map_parse.h sun_map_tok.c
+AM_YFLAGS = -d
+
+##############################################################################
+# *.y must be listed before *.l, because of a bug in automake-1.2
+# which will not generate the .h needs for the lex file from the yacc file.
+# I took out the conf .y/.l files b/c of bad interaction between bsd44 make
+# and automake-1.2 rules.
+libaminfo_a_SOURCES = \
+ sun_map_parse.y \
+ sun_map_tok.l \
+ sun_map.c
+
+# the complete list of all optional sources for libaminfo
+EXTRA_libaminfo_a_SOURCES = \
+ info_file.c \
+ info_exec.c \
+ info_hesiod.c \
+ info_ldap.c \
+ info_ndbm.c \
+ info_nis.c \
+ info_nisplus.c \
+ info_passwd.c \
+ info_sun.c \
+ info_union.c
+
+# AMD_INFO_OBJS: a list of info_*.o objects added, depending on which map
+# types this system supports.
+EXTRA_libaminfo_a_OBJECTS = @AMD_INFO_OBJS@
+libaminfo_a_LIBADD = @AMD_INFO_OBJS@
+libaminfo_a_DEPENDENCIES = @AMD_INFO_OBJS@
+
+##############################################################################
+# sources needed: note .y and .l files have to be first
+# get_args.c is handled separately
+amd_SOURCES = \
+ conf_parse.y \
+ conf_tok.l \
+ \
+ am_ops.c \
+ amd.c \
+ amfs_auto.c \
+ amfs_direct.c \
+ amfs_error.c \
+ amfs_generic.c \
+ amfs_host.c \
+ amfs_link.c \
+ amfs_linkx.c \
+ amfs_nfsl.c \
+ amfs_nfsx.c \
+ amfs_program.c \
+ amfs_root.c \
+ amfs_toplvl.c \
+ amfs_union.c \
+ amq_subr.c \
+ amq_svc.c \
+ autil.c \
+ clock.c \
+ conf.c \
+ map.c \
+ mapc.c \
+ mntfs.c \
+ nfs_prot_svc.c \
+ nfs_start.c \
+ nfs_subr.c \
+ opts.c \
+ readdir.c \
+ restart.c \
+ rpc_fwd.c \
+ sched.c \
+ srvr_amfs_auto.c \
+ srvr_nfs.c
+
+# the complete list of all optional sources for amd
+EXTRA_amd_SOURCES = \
+ ops_cachefs.c \
+ ops_cdfs.c \
+ ops_efs.c \
+ ops_ext.c \
+ ops_lofs.c \
+ ops_lustre.c \
+ ops_mfs.c \
+ ops_nfs.c \
+ ops_nfs3.c \
+ ops_nfs4.c \
+ ops_nullfs.c \
+ ops_pcfs.c \
+ ops_tfs.c \
+ ops_tmpfs.c \
+ ops_udf.c \
+ ops_ufs.c \
+ ops_umapfs.c \
+ ops_unionfs.c \
+ ops_xfs.c \
+ \
+ get_args.c
+
+# AMD_FS_OBJS: a list of ops_*.o objects added, depending on which
+# filesystem types this system supports.
+EXTRA_amd_OBJECTS = @AMD_FS_OBJS@
+amd_LDADD = $(EXTRA_amd_OBJECTS) get_args.o libaminfo.a ../libamu/libamu.la
+
+##############################################################################
+sun2amd_SOURCES = \
+ sun2amd.c
+
+sun2amd_LDADD = libaminfo.a ../libamu/libamu.la
+
+##############################################################################
+# must manually add f/lex library to LIBS, and not to LDADD.
+##LIBS = @LIBS@ @LEXLIB@ @WRAPLIB@
+# f/lex libraries are incomatible with multiple scanners: don't include
+LIBS = @LIBS@ @WRAPLIB@
+
+# additional files to distribute and clean
+EXTRA_DIST = ops_TEMPLATE.c $(man_MANS) $(TESTS)
+CLEANFILES = $(BUILT_SOURCES)
+DISTCLEANFILES = build_version.h ops_autofs.c
+
+# do not distribute files that should be generated by lex/yacc locally
+dist-hook:
+ (cd $(distdir) && rm -f $(BUILT_SOURCES))
+
+AM_CPPFLAGS = -I$(top_srcdir)/include
+
+# allow users to add their own flags via "configure --enable-am-flags=ARG"
+AMU_CFLAGS = @AMU_CFLAGS@
+AM_CFLAGS = $(AMU_CFLAGS)
+
+# dependencies
+$(PROGRAMS): $(LDADD)
+get_args.o: build_version.h
+$(amd_OBJECTS) $(EXTRA_amd_OBJECTS) $(sun2amd_OBJECTS) $(libaminfo_a_OBJECTS) $(EXTRA_libaminfo_a_OBJECTS): \
+ ../config.h \
+ ../aux_conf.h \
+ $(top_srcdir)/include/am_compat.h \
+ $(top_srcdir)/include/am_defs.h \
+ $(top_srcdir)/include/am_utils.h \
+ $(top_srcdir)/include/am_xdr_func.h \
+ $(top_srcdir)/include/amq_defs.h \
+ @AMU_NFS_PROT_HEADER@ \
+ @AMU_AUTOFS_PROT_HEADER@ \
+ $(noinst_HEADERS)
+
+# auto-generate build number
+build_version.h: $(amd_OBJECTS) $(EXTRA_amd_OBJECTS) $(libaminfo_a_OBJECTS) $(EXTRA_libaminfo_a_OBJECTS) get_args.c
+ $(top_srcdir)/m4/update_build_version