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