1*24f9d669Sguenther# $OpenBSD: Makefile,v 1.232 2024/08/12 20:56:55 guenther Exp $ 24b826ba8Sderaadt# $NetBSD: Makefile,v 1.59 1996/05/15 21:36:43 jtc Exp $ 3df930be7Sderaadt 4df930be7Sderaadt# @(#)Makefile 5.45.1.1 (Berkeley) 5/6/91 5df930be7Sderaadt 6df930be7Sderaadt# The ``rm -rf''s used below are safe because rm doesn't follow symbolic 7df930be7Sderaadt# links. 8df930be7Sderaadt 9df930be7Sderaadt 10eb158ea4Sespie.include <bsd.own.mk> 11eb158ea4Sespie 12249f38f2SguentherFILES= a.out.h ar.h asr.h assert.h \ 13249f38f2Sguenther bitstring.h blf.h bsd_auth.h \ 14249f38f2Sguenther complex.h cpio.h ctype.h curses.h \ 1555a3ec30Skrw db.h dirent.h dlfcn.h \ 167c8f01ebSmpi elf.h elf_abi.h err.h errno.h \ 17249f38f2Sguenther fenv.h float.h fnmatch.h fstab.h fts.h ftw.h \ 18249f38f2Sguenther getopt.h glob.h grp.h \ 19249f38f2Sguenther icdb.h ieeefp.h ifaddrs.h inttypes.h iso646.h \ 20249f38f2Sguenther kvm.h \ 21249f38f2Sguenther langinfo.h libgen.h limits.h link.h link_elf.h locale.h login_cap.h \ 22249f38f2Sguenther math.h md5.h memory.h \ 23249f38f2Sguenther ndbm.h netdb.h netgroup.h nlist.h nl_types.h \ 24249f38f2Sguenther paths.h poll.h pthread.h pthread_np.h pwd.h \ 25249f38f2Sguenther ranlib.h readpassphrase.h regex.h resolv.h rmd160.h \ 26249f38f2Sguenther sched.h search.h setjmp.h semaphore.h sha1.h sha2.h \ 27249f38f2Sguenther signal.h siphash.h sndio.h spawn.h stdbool.h stddef.h \ 28*24f9d669Sguenther stdio.h stdio_ext.h stdlib.h string.h strings.h sysexits.h \ 29249f38f2Sguenther tar.h tgmath.h tib.h time.h ttyent.h \ 3046c354aaSschwarze uchar.h unistd.h utime.h utmp.h uuid.h \ 31249f38f2Sguenther vis.h \ 32249f38f2Sguenther wchar.h wctype.h 33ebe856fcShugh 345bf4abd5SderaadtMFILES= frame.h 357c5b55ffSguentherLFILES= endian.h fcntl.h syslog.h termios.h stdarg.h stdint.h varargs.h 36df930be7Sderaadt 37df930be7SderaadtDIRS= arpa protocols rpc rpcsvc 3842546326ShenningLDIRS= crypto ddb dev isofs miscfs msdosfs net netinet netinet6 \ 399e593bd9Stedu netmpls net80211 nfs ntfs scsi sys ufs uvm 40df930be7Sderaadt 4159875271Sespie# Places that need a prerequisite target met before includes 42b718d5d4StbPRDIRS= ../lib/libcrypto ../lib/librpcsvc 4359875271Sespie 4464c414e1Sniklas# Directories with an includes target 45e7a945d3SmartijnRDIRS= ../lib/libagentx ../lib/libcbor ../lib/libcurses ../lib/libedit \ 46e7a945d3Smartijn ../lib/libelf ../lib/libevent ../lib/libexpat ../lib/libfido2 \ 47e7a945d3Smartijn ../lib/libform ../lib/libfuse ../lib/libkeynote ../lib/libmenu \ 482b5055b0Ssthen ../lib/libossaudio ../lib/libpanel ../lib/libpcap \ 49249f38f2Sguenther ../lib/libradius \ 502b5055b0Ssthen ../lib/libskey ../lib/libssl ../lib/libtls \ 51b600beedSjsing ../lib/libusbhid ../lib/libutil ../lib/libz \ 5266e500ceSmortimer ../usr.bin/lex ../gnu/lib/libexecinfo ../gnu/lib/libreadline \ 536c13836aSderaadt ../sys/arch/${MACHINE} 54eb158ea4Sespie 55d8ee3b15Skettenis.if ${BUILD_GCC3:L} == "yes" 56cc1fc287SjsgRDIRS+= ../gnu/usr.bin/gcc 5759875271SespiePRDIRS+= ../gnu/lib/libstdc++ 58d8ee3b15Skettenis.endif 59d8ee3b15Skettenis.if ${BUILD_GCC4:L} == "yes" 60b718d5d4StbPRDIRS+= ../gnu/lib/libstdc++-v3 ../gnu/usr.bin/cc/include 61d8ee3b15Skettenis.endif 62d8ee3b15Skettenis.if ${BUILD_CLANG:L} == "yes" 63f950054fSpatrickRDIRS+= ../gnu/lib/libcxxabi ../gnu/lib/libcxx \ 642584ca0bSjsg ../gnu/usr.bin/clang/libLLVM 65eb158ea4Sespie.endif 6664c414e1Sniklas 6759875271Sespie# prereq implies includes 6859875271SespieRDIRS += ${PRDIRS} 6959875271Sespie 70df930be7SderaadtNOOBJ= noobj 71df930be7Sderaadt 72df930be7Sderaadt# Change SYS_INCLUDE in bsd.own.mk to "symlinks" if you don't want copies 73df930be7SderaadtSYS_INCLUDE?= copies 74b70a26d9Srobert 7559875271SespieRUN_MAKE = if test -f Makefile.bsd-wrapper; then ${MAKE} -f Makefile.bsd-wrapper $@; else ${MAKE} $@; fi 7659875271Sespie 7764c414e1Sniklasprereq: 78efeb256fSespie @for i in ${PRDIRS}; do \ 79aa4b115cSniklas echo preparing in ${.CURDIR}/$$i; \ 8059875271Sespie cd ${.CURDIR}/$$i && ${RUN_MAKE}; \ 8164c414e1Sniklas done 8264c414e1Sniklas 83c8b9456aSderaadtincludes: 84df930be7Sderaadt @echo installing ${FILES} 85efeb256fSespie @for i in ${FILES}; do \ 86df930be7Sderaadt cmp -s $$i ${DESTDIR}/usr/include/$$i || \ 879c44650eSmillert ${INSTALL} ${INSTALL_COPY} -m 444 $$i ${DESTDIR}/usr/include/$$i; \ 88df930be7Sderaadt done 89df930be7Sderaadt @echo installing ${DIRS} 90efeb256fSespie @for i in ${DIRS}; do \ 917fea8c2aSdownsj ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ 92df930be7Sderaadt ${DESTDIR}/usr/include/$$i; \ 93efeb256fSespie cd ${.CURDIR}/$$i && for j in *.[ih]; do \ 94df930be7Sderaadt cmp -s $$j ${DESTDIR}/usr/include/$$i/$$j || \ 959c44650eSmillert ${INSTALL} ${INSTALL_COPY} -m 444 $$j ${DESTDIR}/usr/include/$$i/$$j; \ 96efeb256fSespie done; \ 97df930be7Sderaadt done 98df930be7Sderaadt @echo installing ${LFILES} 99efeb256fSespie @for i in ${LFILES}; do \ 100efeb256fSespie rm -f ${DESTDIR}/usr/include/$$i && \ 101df930be7Sderaadt ln -s sys/$$i ${DESTDIR}/usr/include/$$i; \ 102df930be7Sderaadt done 103df930be7Sderaadt @echo installing ${MFILES} 104efeb256fSespie @for i in ${MFILES}; do \ 105efeb256fSespie rm -f ${DESTDIR}/usr/include/$$i && \ 106df930be7Sderaadt ln -s machine/$$i ${DESTDIR}/usr/include/$$i; \ 107df930be7Sderaadt done 108efeb256fSespie @for i in ${RDIRS}; do \ 109dd9d2c6eSderaadt echo installing in ${.CURDIR}/$$i; \ 11059875271Sespie cd ${.CURDIR}/$$i && ${RUN_MAKE}; \ 1119eed8a4cSniklas done 11276c3425bStb chown -RP ${BINOWN}:${BINGRP} ${DESTDIR}/usr/include 1130cb6afd9Snaddy find ${DESTDIR}/usr/include \ 1140cb6afd9Snaddy -type f -exec chmod a=r {} + -o \ 1150cb6afd9Snaddy \( -type d -o -type l \) -exec chmod -h u=rwx,go=rx {} + 116df930be7Sderaadt 117df930be7Sderaadtcopies: 118df930be7Sderaadt @echo copies: ${LDIRS} 119efeb256fSespie @for i in ${LDIRS}; do \ 120efeb256fSespie rm -rf ${DESTDIR}/usr/include/$$i && \ 1217fea8c2aSdownsj ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ 122df930be7Sderaadt ${DESTDIR}/usr/include/$$i ; \ 123df930be7Sderaadt done 124df930be7Sderaadt cd ../sys; \ 125df930be7Sderaadt pax -rw -pa -L \ 126983d6f98Sderaadt `find ${LDIRS} -follow -type f -name '*.h' '!' \ 1271042567dSkettenis '(' -path 'dev/microcode/*' -or -path 'dev/pci/drm/*' ')' \ 128983d6f98Sderaadt -print` ${DESTDIR}/usr/include 129be960fe6Smiod cd ${DESTDIR}/usr/include && rm -rf ${MACHINE} ${MACHINE_CPU} machine 1307fea8c2aSdownsj ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ 131343f06ecSespie ${DESTDIR}/usr/include/${MACHINE} 1321cfd633eSitojun pax -rw -pa -s "|\.\./sys/arch/${MACHINE}/include||" \ 1331cfd633eSitojun ../sys/arch/${MACHINE}/include/*.h \ 1341cfd633eSitojun ${DESTDIR}/usr/include/${MACHINE} 135be960fe6Smiod if test ${MACHINE} != ${MACHINE_CPU} -a \ 136be960fe6Smiod -d ../sys/arch/${MACHINE_CPU}/include; then \ 1377fea8c2aSdownsj ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ 138be960fe6Smiod ${DESTDIR}/usr/include/${MACHINE_CPU}; \ 139be960fe6Smiod pax -rw -pa -s "|\.\./sys/arch/${MACHINE_CPU}/include||" \ 140be960fe6Smiod ../sys/arch/${MACHINE_CPU}/include/*.h \ 141be960fe6Smiod ${DESTDIR}/usr/include/${MACHINE_CPU}; \ 142df930be7Sderaadt fi 143343f06ecSespie ln -sf ${MACHINE} ${DESTDIR}/usr/include/machine; \ 144df930be7Sderaadt 145df930be7Sderaadtsymlinks: 146df930be7Sderaadt @echo symlinks: ${LDIRS} 147df930be7Sderaadt @for i in ${LDIRS}; do \ 148efeb256fSespie rm -rf ${DESTDIR}/usr/include/$$i && \ 149df930be7Sderaadt ln -s /sys/$$i ${DESTDIR}/usr/include/$$i; \ 150df930be7Sderaadt done 151be960fe6Smiod cd ${DESTDIR}/usr/include && rm -rf ${MACHINE} ${MACHINE_CPU} machine 152343f06ecSespie ln -s /sys/arch/${MACHINE}/include ${DESTDIR}/usr/include/${MACHINE} 153be960fe6Smiod if test ${MACHINE} != ${MACHINE_CPU} -a \ 154be960fe6Smiod -d ../sys/arch/${MACHINE_CPU}/include ; then \ 155be960fe6Smiod ln -s /sys/arch/${MACHINE_CPU}/include \ 156be960fe6Smiod ${DESTDIR}/usr/include/${MACHINE_CPU} ; \ 157df930be7Sderaadt fi 158efeb256fSespie ln -sf ${MACHINE} ${DESTDIR}/usr/include/machine 159df930be7Sderaadt 160c8b9456aSderaadtincludes: ${SYS_INCLUDE} 161df930be7Sderaadt 162efeb256fSespie.PHONY: prereq includes copies symlink 163c8b9456aSderaadt.include <bsd.prog.mk> 164