b0a2306306cf2fa2234feb400555372accf5fc4c
[openafs.git] / src / config / Makefile.in
1 # Copyright 2000, International Business Machines Corporation and others.
2 # All Rights Reserved.
3
4 # This software has been released under the terms of the IBM Public
5 # License.  For details, see the LICENSE file in the top-level source
6 # directory or online at http://www.openafs.org/dl/license10.html
7
8 srcdir=@srcdir@
9 include @TOP_OBJDIR@/src/config/Makefile.config
10
11 CFLAGS=-g -I${TOP_INCDIR} ${XCFLAGS}
12
13 INST=$(RM) -f $@; $(CP) $? $@
14
15 all: config mkvers ukinstall kinstall \
16         ${TOP_INCDIR}/afs/param.h \
17         ${TOP_INCDIR}/afs/stds.h \
18         ${TOP_INCDIR}/afs/afs_sysnames.h \
19         ${TOP_INCDIR}/afs/afs_args.h \
20         ${TOP_INCDIR}/afs/icl.h \
21         ${TOP_INCDIR}/afs/venus.h \
22         ${TOP_INCDIR}/afs/debug.h
23
24 Makefile.version: ${srcdir}/Makefile.version-CML Makefile.version-NOCML
25         $(RM) -f Makefile.version
26         if      [ -r SRC/../CML/state ] ; \
27         then    $(CP) ${srcdir}/Makefile.version-CML Makefile.version ; \
28         else    $(CP) Makefile.version-NOCML Makefile.version ; \
29         fi
30
31 #
32 # AFS component version string file generation targets
33 #
34 AFS_component_version_number.c: Makefile.version
35         $(MAKE) -f Makefile.version AFS_component_version_number.c
36
37 ${KERNELDIR}/afs/AFS_component_version_number.c: AFS_component_version_number.c
38         $(INST)
39
40 ${UKERNELDIR}/afs/AFS_component_version_number.c: AFS_component_version_number.c
41         $(INST)
42
43 #
44 # App build/install targets
45 #
46 config: config.o mc.o
47         $(CC) $(CFLAGS) -o config config.o mc.o
48
49 mkvers: ${srcdir}/mkvers.c
50         $(CC) $(CFLAGS) -o mkvers ${srcdir}/mkvers.c
51
52 mc.o: ${srcdir}/mc.c
53         $(CC) $(CFLAGS) -c ${srcdir}/mc.c
54
55 config.o: ${srcdir}/config.c AFS_component_version_number.c
56         $(CC) $(CFLAGS) -I. -c ${srcdir}/config.c
57
58 #
59 # Include installation targets
60 #
61 KDIRS = ${KERNELDIR}/afs \
62         ${KERNELDIR}/rx \
63         ${KERNELDIR}/afsint \
64         ${KERNELDIR}/config
65
66 $(KDIRS): 
67         mkdir -p $@
68
69 UKDIRS = ${UKERNELDIR}/afs \
70         ${UKERNELDIR}/rx \
71         ${UKERNELDIR}/afsint \
72         ${UKERNELDIR}/config
73
74 $(UKDIRS): 
75         mkdir -p $@
76
77 ${KERNELDIR}/afs/param.h ${DEST}/include/afs/param.h ${DESTDIR}${includedir}/afs/param.h ${TOP_INCDIR}/afs/param.h: ${srcdir}/param.${SYS_NAME}.h
78         -$(INST)
79
80 ${UKERNELDIR}/afs/afs_sysnames.h ${KERNELDIR}/afs/afs_sysnames.h ${DEST}/include/afs/afs_sysnames.h ${DESTDIR}${includedir}/afs/afs_sysnames.h ${TOP_INCDIR}/afs/afs_sysnames.h: ${srcdir}/afs_sysnames.h
81         $(INST)
82
83 ${UKERNELDIR}/afs/stds.h ${KERNELDIR}/afs/stds.h ${DEST}/include/afs/stds.h ${DESTDIR}${includedir}/afs/stds.h ${TOP_INCDIR}/afs/stds.h: ${srcdir}/stds.h
84         $(INST)
85
86 ${UKERNELDIR}/afs/icl.h ${KERNELDIR}/afs/icl.h ${DEST}/include/afs/icl.h ${DESTDIR}${includedir}/afs/icl.h ${TOP_INCDIR}/afs/icl.h: ${srcdir}/icl.h 
87         $(INST)
88
89 ${UKERNELDIR}/afs/afs_args.h ${KERNELDIR}/afs/afs_args.h ${DEST}/include/afs/afs_args.h ${DESTDIR}${includedir}/afs/afs_args.h ${TOP_INCDIR}/afs/afs_args.h: ${srcdir}/afs_args.h 
90         $(INST)
91
92 ${UKERNELDIR}/afs/venus.h ${DEST}/include/afs/venus.h ${DESTDIR}${includedir}/afs/venus.h ${TOP_INCDIR}/afs/venus.h: ${srcdir}/venus.h 
93         $(INST)
94
95 ${DEST}/include/afs/debug.h ${DESTDIR}${includedir}/afs/debug.h ${TOP_INCDIR}/afs/debug.h: ${srcdir}/debug.h 
96         $(INST)
97
98 ${UKERNELDIR}/afs/param.h: ${srcdir}/param.${SYS_NAME}_usr.h
99         $(INST)
100
101 # these are needed to compile the kernel.  Config is necessary to
102 # convert the MakefileProto in libafs and the kernel links provide the
103 # kernel include environment.  param.h is, well, param.h.  The afs_sysnames.h
104 # file is needed by param.h to create unique identifiers for each SYS_TYPE.
105
106 install: ${DESTDIR}${includedir}/afs/param.h \
107         ${DESTDIR}${includedir}/afs/stds.h \
108         ${DESTDIR}${includedir}/afs/afs_sysnames.h \
109         ${DESTDIR}${includedir}/afs/afs_args.h \
110         ${DESTDIR}${includedir}/afs/icl.h \
111         ${DESTDIR}${includedir}/afs/venus.h \
112         ${DESTDIR}${includedir}/afs/debug.h
113
114 kinstall: \
115         $(KDIRS) \
116         ${KERNELDIR}/afs/param.h \
117         ${KERNELDIR}/afs/stds.h \
118         ${KERNELDIR}/afs/afs_sysnames.h \
119         ${KERNELDIR}/afs/afs_args.h \
120         ${KERNELDIR}/afs/icl.h \
121         ${KERNELDIR}/afs/AFS_component_version_number.c
122
123 ukinstall: \
124         $(UKDIRS) \
125         ${UKERNELDIR}/afs/param.h \
126         ${UKERNELDIR}/afs/stds.h \
127         ${UKERNELDIR}/afs/afs_sysnames.h \
128         ${UKERNELDIR}/afs/afs_args.h \
129         ${UKERNELDIR}/afs/icl.h \
130         ${UKERNELDIR}/afs/venus.h \
131         ${UKERNELDIR}/afs/AFS_component_version_number.c
132
133 clean:
134         $(RM) -f *.o config mkvers core xprt AFS_component_version_number.c
135
136 dest: ${DEST}/include/afs/param.h \
137         ${DEST}/include/afs/stds.h \
138         ${DEST}/include/afs/afs_sysnames.h \
139         ${DEST}/include/afs/afs_args.h \
140         ${DEST}/include/afs/icl.h \
141         ${DEST}/include/afs/venus.h \
142         ${DEST}/include/afs/debug.h
143