summaryrefslogtreecommitdiff
path: root/dist/am-utils/amd/Makefile.am
blob: f9a9701cfa048e041831603ee252369626e65bfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
## Process this file with automake to produce Makefile.in

# Package: am-utils
# Level: Makefile for amd/ directory
# Author: Erez Zadok

sbin_PROGRAMS = amd

# man pages
man_MANS = amd.8

# test scripts
TESTS = test1.sh

# headers this depends on, not to be installed
noinst_HEADERS = amd.h

# *.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.

# 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_host.c		\
	amfs_inherit.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			\
	restart.c		\
	rpc_fwd.c		\
	sched.c			\
	srvr_amfs_auto.c	\
	srvr_nfs.c

# the complete list of all optional sources
EXTRA_amd_SOURCES =	\
	info_file.c	\
	info_hesiod.c	\
	info_ldap.c	\
	info_ndbm.c	\
	info_nis.c	\
	info_nisplus.c	\
	info_passwd.c	\
	info_union.c	\
	\
	ops_cachefs.c	\
	ops_cdfs.c	\
	ops_efs.c	\
	ops_lofs.c	\
	ops_mfs.c	\
	ops_nfs.c	\
	ops_nfs3.c	\
	ops_nullfs.c	\
	ops_pcfs.c	\
	ops_tfs.c	\
	ops_tmpfs.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.
# AMD_INFO_OBJS: a list of info_*.o objects added, depending on which map
# types this system supports.
EXTRA_amd_OBJECTS = @AMD_FS_OBJS@ @AMD_INFO_OBJS@
LDADD = $(EXTRA_amd_OBJECTS) get_args.o ../libamu/libamu.la
# must manually add f/lex library to LIBS, and not to LDADD.
LIBS = @LIBS@ @LEXLIB@

# additional files to distribute and clean
EXTRA_DIST = ops_TEMPLATE.c $(man_MANS) $(TESTS)
CLEANFILES = conf_tok.c conf_parse.c conf_parse.h
DISTCLEANFILES = build_version.h

# do not distribute files that should be generated by lex/yacc locally
dist-hook:
	(cd $(distdir) && rm -f conf_parse.c conf_parse.h conf_tok.c)

INCLUDES = -I$(top_srcdir)/include

# allow users to add their own flags via "configure --enable-am-flags=ARG"
AMU_CFLAGS = @AMU_CFLAGS@
CFLAGS = @CFLAGS@ $(AMU_CFLAGS)
AM_YFLAGS = -d

# dependencies
$(PROGRAMS): $(LDADD)
get_args.o: build_version.h
$(amd_OBJECTS) $(EXTRA_amd_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@			\
	$(noinst_HEADERS)

# auto-generate build number
build_version.h: $(OBJECTS) $(EXTRA_amd_OBJECTS) get_args.c
	$(top_srcdir)/m4/update_build_version