Edit

IABSD.fr/src/include/Makefile

Branch :

  • Show log

    Commit

  • Author : kettenis
    Date : 2017-04-17 15:53:21
    Hash : d8ee3b15
    Message : Change build infrastructure to allow building both gcc and clang. This doesn't actually flip the switch yet, so aarch64 continues to be the only architecture for which we build clang. ok jsg@, deraadt@

  • include/Makefile
  • #	$OpenBSD: Makefile,v 1.219 2017/04/17 15:53:21 kettenis Exp $
    #	$NetBSD: Makefile,v 1.59 1996/05/15 21:36:43 jtc Exp $
    
    #	@(#)Makefile	5.45.1.1 (Berkeley) 5/6/91
    
    # The ``rm -rf''s used below are safe because rm doesn't follow symbolic
    # links.
    
    
    .include <bsd.own.mk>
    
    FILES=	a.out.h ar.h asr.h assert.h bitstring.h blf.h bsd_auth.h \
    	complex.h cpio.h ctype.h curses.h db.h dirent.h disktab.h \
    	dlfcn.h elf_abi.h err.h errno.h fenv.h float.h fnmatch.h fstab.h fts.h \
    	ftw.h getopt.h glob.h grp.h icdb.h ieeefp.h ifaddrs.h inttypes.h \
    	iso646.h kvm.h langinfo.h libgen.h limits.h link.h link_elf.h \
    	locale.h login_cap.h math.h md5.h memory.h ndbm.h netdb.h netgroup.h \
    	nlist.h nl_types.h paths.h poll.h pwd.h ranlib.h readpassphrase.h \
    	regex.h resolv.h rmd160.h search.h setjmp.h sha1.h sha2.h signal.h \
    	siphash.h sndio.h spawn.h stdbool.h stddef.h stdio.h stdlib.h \
    	string.h strings.h sysexits.h tar.h tgmath.h tib.h time.h \
    	ttyent.h unistd.h utime.h utmp.h uuid.h vis.h wchar.h wctype.h
    
    MFILES=	frame.h
    LFILES=	endian.h fcntl.h syslog.h termios.h stdarg.h stdint.h varargs.h
    
    DIRS=	arpa protocols rpc rpcsvc
    LDIRS=	crypto ddb dev isofs miscfs msdosfs net netinet netinet6 \
    	netmpls net80211 nfs ntfs scsi sys ufs uvm
    
    # Places that need a prerequisite target met before includes
    PRDIRS=	../lib/libcrypto ../lib/librpcsvc
    
    # Directories with an includes target
    RDIRS=	../lib/libcurses ../lib/libedit \
    	../lib/libevent ../lib/libexpat ../lib/libform \
    	../lib/libfuse ../lib/libkeynote ../lib/libmenu \
    	../lib/libossaudio ../lib/libpanel ../lib/libpcap \
    	../lib/libradius ../lib/librthread \
    	../lib/libskey ../lib/libssl  ../lib/libtls \
    	../lib/libusbhid ../lib/libutil ../lib/libz \
    	../usr.bin/lex ../gnu/lib/libreadline \
    	../sys/arch/${MACHINE}
    
    .if ${BUILD_GCC3:L} == "yes"
    RDIRS+= ../gnu/usr.bin/gcc ../gnu/lib/libobjc
    PRDIRS+= ../gnu/lib/libstdc++
    .endif
    .if ${BUILD_GCC4:L} == "yes"
    RDIRS+= ../gnu/usr.bin/cc/libobjc
    PRDIRS+= ../gnu/lib/libstdc++-v3 ../gnu/usr.bin/cc/include
    .endif
    .if ${BUILD_CLANG:L} == "yes"
    RDIRS+= ../lib/libcxxabi ../lib/libcxx
    .endif
    
    # prereq implies includes
    RDIRS += ${PRDIRS}
    
    NOOBJ=	noobj
    
    # Change SYS_INCLUDE in bsd.own.mk to "symlinks" if you don't want copies
    SYS_INCLUDE?=	copies
    
    RUN_MAKE = if test -f Makefile.bsd-wrapper; then ${MAKE} -f Makefile.bsd-wrapper $@; else ${MAKE} $@; fi
    
    prereq:
    	@for i in ${PRDIRS}; do \
    		echo preparing in ${.CURDIR}/$$i; \
    		cd ${.CURDIR}/$$i && ${RUN_MAKE}; \
    	done
    
    includes:
    	@echo installing ${FILES}
    	@for i in ${FILES}; do \
    		cmp -s $$i ${DESTDIR}/usr/include/$$i || \
    		    ${INSTALL} ${INSTALL_COPY} -m 444 $$i ${DESTDIR}/usr/include/$$i; \
    	done
    	@echo installing ${DIRS}
    	@for i in ${DIRS}; do \
    		${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
    			${DESTDIR}/usr/include/$$i; \
    		cd ${.CURDIR}/$$i && for j in *.[ih]; do \
    			cmp -s $$j ${DESTDIR}/usr/include/$$i/$$j || \
    			${INSTALL} ${INSTALL_COPY} -m 444 $$j ${DESTDIR}/usr/include/$$i/$$j; \
    		done; \
    	done
    	@echo installing ${LFILES}
    	@for i in ${LFILES}; do \
    		rm -f ${DESTDIR}/usr/include/$$i && \
    		ln -s sys/$$i ${DESTDIR}/usr/include/$$i; \
    	done
    	@echo installing ${MFILES}
    	@for i in ${MFILES}; do \
    		rm -f ${DESTDIR}/usr/include/$$i && \
    		ln -s machine/$$i ${DESTDIR}/usr/include/$$i; \
    	done
    	@for i in ${RDIRS}; do \
    		echo installing in ${.CURDIR}/$$i; \
    		cd ${.CURDIR}/$$i && ${RUN_MAKE}; \
    	done
    	chown -RP ${BINOWN}:${BINGRP} ${DESTDIR}/usr/include
    	find ${DESTDIR}/usr/include -type f -print0 | \
    		xargs -0r chmod a=r
    	find ${DESTDIR}/usr/include \( -type d -o -type l \) -print0 | \
    		xargs -0r chmod -h u=rwx,go=rx
    
    copies:
    	@echo copies: ${LDIRS}
    	@for i in ${LDIRS}; do \
    		rm -rf ${DESTDIR}/usr/include/$$i && \
    		${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
    			${DESTDIR}/usr/include/$$i ; \
    	done
    	cd ../sys; \
    	pax -rw -pa -L \
    	    `find ${LDIRS} -follow -type f -name '*.h' '!' \
    	    '(' -path 'dev/microcode/*' -or -path 'dev/pci/drm/*' ')' \
    	    -print` ${DESTDIR}/usr/include
    	cd ${DESTDIR}/usr/include && rm -rf ${MACHINE} ${MACHINE_CPU} machine
    	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
    		${DESTDIR}/usr/include/${MACHINE}
    	pax -rw -pa -s "|\.\./sys/arch/${MACHINE}/include||" \
    	    ../sys/arch/${MACHINE}/include/*.h \
    	    ${DESTDIR}/usr/include/${MACHINE}
    	if test ${MACHINE} != ${MACHINE_CPU} -a \
    	    -d ../sys/arch/${MACHINE_CPU}/include; then \
    		${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
    	    	    ${DESTDIR}/usr/include/${MACHINE_CPU}; \
    		pax -rw -pa -s "|\.\./sys/arch/${MACHINE_CPU}/include||" \
    		    ../sys/arch/${MACHINE_CPU}/include/*.h \
    		    ${DESTDIR}/usr/include/${MACHINE_CPU}; \
    	fi
    	ln -sf ${MACHINE} ${DESTDIR}/usr/include/machine; \
    
    symlinks:
    	@echo symlinks: ${LDIRS}
    	@for i in ${LDIRS}; do \
    		rm -rf ${DESTDIR}/usr/include/$$i && \
    		ln -s /sys/$$i ${DESTDIR}/usr/include/$$i; \
    	done
    	cd ${DESTDIR}/usr/include && rm -rf ${MACHINE} ${MACHINE_CPU} machine
    	ln -s /sys/arch/${MACHINE}/include ${DESTDIR}/usr/include/${MACHINE}
    	if test ${MACHINE} != ${MACHINE_CPU} -a \
    	    -d ../sys/arch/${MACHINE_CPU}/include ; then \
    		ln -s /sys/arch/${MACHINE_CPU}/include \
    		    ${DESTDIR}/usr/include/${MACHINE_CPU} ; \
    	fi
    	ln -sf ${MACHINE} ${DESTDIR}/usr/include/machine
    
    includes: ${SYS_INCLUDE}
    
    .PHONY: prereq includes copies symlink
    .include <bsd.prog.mk>