xref: /freebsd/include/Makefile (revision afe61c15161c324a7af299a9b8457aba5afc92db)
1#	@(#)Makefile	8.2 (Berkeley) 1/4/94
2#
3# Doing a make install builds /usr/include
4#
5# The ``rm -rf''s used below are safe because rm doesn't follow symbolic
6# links.
7#
8all clean cleandir depend lint tags:
9
10# XXX MISSING:	mp.h
11FILES=	a.out.h ar.h assert.h bitstring.h ctype.h db.h dirent.h disktab.h \
12	err.h fnmatch.h fstab.h fts.h glob.h grp.h kvm.h limits.h link.h \
13	locale.h \
14	math.h memory.h mpool.h ndbm.h netdb.h nlist.h paths.h pwd.h \
15	ranlib.h regex.h regexp.h resolv.h rune.h runetype.h setjmp.h \
16	sgtty.h signal.h stab.h stddef.h stdio.h stdlib.h string.h strings.h \
17	struct.h sysexits.h tar.h time.h ttyent.h tzfile.h unistd.h utime.h \
18	utmp.h vis.h
19
20MFILES=	float.h frame.h stdarg.h varargs.h
21LFILES=	errno.h fcntl.h syslog.h termios.h
22
23DIRS=	arpa protocols
24LDIRS=	net netccitt netinet netiso netns nfs sys vm
25LUDIR=	ufs
26UDIRS=	ufs/ffs ufs/lfs ufs/mfs ufs/ufs
27
28NOOBJ=	noobj
29
30# Define SHARED to indicate whether you want symbolic links to the system
31# source (``symlinks''), or a separate copy (``copies''); (latter useful
32# in environments where it's not possible to keep /sys publicly readable)
33# SHARED=	copies
34SHARED?=	symlinks
35
36install: ${SHARED}
37	@echo installing ${FILES}
38	@-for i in ${FILES}; do \
39		cmp -s $$i ${DESTDIR}/usr/include/$$i > /dev/null 2>&1 || \
40		    install -c -o ${BINOWN} -g ${BINGRP} -m 444 $$i \
41		    ${DESTDIR}/usr/include/$$i; \
42	done
43	@echo installing ${DIRS}
44	@-for i in ${DIRS}; do \
45		if [ ! -d ${DESTDIR}/usr/include/$$i ]; \
46		then \
47			mkdir ${DESTDIR}/usr/include/$$i; \
48		fi; \
49		chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/$$i; \
50		chmod 755 ${DESTDIR}/usr/include/$$i; \
51		(cd $$i; for j in *.[ih]; do \
52			cmp -s $$j ${DESTDIR}/usr/include/$$i/$$j > \
53			    /dev/null 2>&1 || \
54			    install -c -o ${BINOWN} -g ${BINGRP} -m 444 $$j \
55			    ${DESTDIR}/usr/include/$$i/$$j; \
56		done); \
57	done
58	@echo installing ${LFILES}
59	@-for i in ${LFILES}; do \
60		rm -f ${DESTDIR}/usr/include/$$i; \
61		ln -s sys/$$i ${DESTDIR}/usr/include/$$i; \
62		chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/$$i; \
63	done
64	@echo installing ${MFILES}
65	@-for i in ${MFILES}; do \
66		rm -f ${DESTDIR}/usr/include/$$i; \
67		ln -s machine/$$i ${DESTDIR}/usr/include/$$i; \
68		chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/$$i; \
69	done
70
71copies:
72	rm -rf ${DESTDIR}/usr/include/${LUDIR}
73	@-for i in ${LDIRS} ${UDIRS}; do				\
74		echo ${SHARED} $$i;					\
75		rm -rf ${DESTDIR}/usr/include/$$i;			\
76		cd ../sys;						\
77		tar cf - $$i/*.h |					\
78			(cd ${DESTDIR}/usr/include; tar xpfB -);	\
79		chown -R ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/$$i;\
80		chmod -R 444 ${DESTDIR}/usr/include/$$i;		\
81		chmod 755 ${DESTDIR}/usr/include/$$i;			\
82	done
83	rm -rf ${DESTDIR}/usr/include/machine
84	mkdir ${DESTDIR}/usr/include/machine
85	cd ../sys/${MACHINE}/include && \
86	    tar cf - *.h | (cd ${DESTDIR}/usr/include/machine; tar xpfB -);
87	chown -R ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/machine;
88	chmod -R 444 ${DESTDIR}/usr/include/machine;
89	chmod 755 ${DESTDIR}/usr/include/machine;
90
91symlinks:
92	@for i in ${LDIRS} ${LUDIR}; do					\
93		echo ${SHARED} $$i;					\
94		rm -rf ${DESTDIR}/usr/include/$$i;			\
95		ln -s /sys/$$i ${DESTDIR}/usr/include/$$i;		\
96		chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/$$i;	\
97	done
98	rm -rf ${DESTDIR}/usr/include/machine
99	ln -s /sys/${MACHINE}/include ${DESTDIR}/usr/include/machine
100
101.include <bsd.prog.mk>
102