1 1.40 christos # $NetBSD: Makefile.inc,v 1.40 2025/09/27 20:59:39 christos Exp $ 2 1.15 lukem # 3 1.1 gwr # Include this fragment to build libhack.o 4 1.1 gwr # It is .o and not .a to make sure these are the 5 1.1 gwr # objects you get (and not the ones in libc.a) 6 1.15 lukem # 7 1.1 gwr 8 1.15 lukem # 9 1.15 lukem # Required variables: 10 1.15 lukem # HACKSRC This directory 11 1.15 lukem # 12 1.15 lukem # Optional variables: 13 1.15 lukem # HACKOBJS Extra objects to build. 14 1.15 lukem # The following extra objects are available: 15 1.15 lukem # gethost.o cut-down gethostby{name,addr}() 16 1.15 lukem # that only supports /etc/hosts 17 1.15 lukem # 18 1.15 lukem 19 1.29 roy .include <bsd.own.mk> 20 1.29 roy 21 1.17 christos CPPFLAGS+= -DSMALL 22 1.27 manu CPPFLAGS+= -DLIBHACK 23 1.33 roy 24 1.28 christos HACKOBJS+= getcap.o getgrent.o getnet.o getnetgr.o getpwent.o jemalloc.o \ 25 1.22 martin localeconv.o multibyte.o perror.o runetable.o setlocale.o \ 26 1.40 christos nl_langinfo.o strcasecmp.o sysctl.o \ 27 1.36 jdolecek strerror.o strsignal.o syslog.o utmp.o fmtcheck.o \ 28 1.38 christos aligned_alloc.o regcomp.o regexec.o wrap.o 29 1.29 roy 30 1.29 roy .if (${USE_YP} != "no") 31 1.29 roy HACKOBJS+= yplib.o 32 1.29 roy .endif 33 1.1 gwr 34 1.32 martin .if ${HACK_CURSES:Uno} == "yes" 35 1.32 martin CURSES_SRC!= cd ${HACKSRC}/../../../lib/libcurses && \ 36 1.32 martin ${MAKE} DISABLE_WCHAR=yes -v SRCS 37 1.32 martin 38 1.32 martin .for s in ${CURSES_SRC} 39 1.32 martin CPPFLAGS.${s}+= -DDISABLE_WCHAR -DSMALL \ 40 1.32 martin -I${HACKSRC}/../../../lib/libcurses \ 41 1.32 martin -I${HACKSRC}/../../../lib/libterminfo 42 1.32 martin HACKOBJS+= ${s:S/.c/.o/} 43 1.32 martin ${s:S/.c/.o/}: ${HACKSRC}/../../../lib/libcurses/${s} 44 1.32 martin .endfor 45 1.35 martin 46 1.35 martin TERMINFO_SRC!= cd ${HACKSRC}/../../../lib/libterminfo && \ 47 1.35 martin ${MAKE} SMALLPROG=1 -v SRCS 48 1.35 martin TERMINFO_PATH!= cd ${HACKSRC}/../../../lib/libterminfo && \ 49 1.35 martin ${MAKE} -v .OBJDIR 50 1.35 martin 51 1.35 martin .for s in ${TERMINFO_SRC} 52 1.35 martin CPPFLAGS.${s}+= -DDISABLE_WCHAR -DSMALL \ 53 1.35 martin -I${HACKSRC}/../../../lib/libterminfo \ 54 1.35 martin -I${TERMINFO_PATH} 55 1.35 martin HACKOBJS+= ${s:S/.c/.o/} 56 1.35 martin .if ${s:Mhash*} != "" 57 1.35 martin ${s:S/.c/.o/}: ${TERMINFO_PATH}/${s} 58 1.35 martin .else 59 1.35 martin ${s:S/.c/.o/}: ${HACKSRC}/../../../lib/libterminfo/${s} 60 1.35 martin .endif 61 1.35 martin .endfor 62 1.32 martin .endif 63 1.32 martin 64 1.23 tnozaki CPPFLAGS.runetable.c+= -I${HACKSRC}/../../../lib/libc/citrus \ 65 1.23 tnozaki -DALL_80_TO_FF_SW1 66 1.22 martin 67 1.24 christos CPPFLAGS.syslog.c+= -I${HACKSRC}/../../../lib/libc/include 68 1.40 christos CPPFLAGS.sysctl.c+= -I${HACKSRC}/../../../lib/libc/include 69 1.28 christos CPPFLAGS.jemalloc.c+= -I${HACKSRC}/../../../lib/libc/include 70 1.25 christos CPPFLAGS.gethost.c+= -I${HACKSRC}/../../../lib/libc/net 71 1.24 christos 72 1.28 christos .if !defined(LIB) 73 1.15 lukem libhack.o: ${HACKOBJS} 74 1.39 martin ${LD} -r ${HACK_LD_FLAGS} -o $@ ${.ALLSRC} 75 1.28 christos .endif 76 1.2 gwr 77 1.26 christos .if 1 78 1.28 christos .PATH.c: \ 79 1.28 christos ${HACKSRC} \ 80 1.28 christos ${HACKSRC}/../../../lib/libc/gen \ 81 1.28 christos ${HACKSRC}/../../../lib/libc/locale \ 82 1.37 christos ${HACKSRC}/../../../lib/libc/regex \ 83 1.28 christos ${HACKSRC}/../../../lib/libc/stdlib 84 1.26 christos .else 85 1.15 lukem # XXX .PATH won't work here, because of crunchgen used by various builds 86 1.37 christos regcomp.o: ${HACKSRC}/../../../lib/libc/regex/regcomp.c 87 1.37 christos regexec.o: ${HACKSRC}/../../../lib/libc/regex/regexec.c 88 1.17 christos getcap.o: ${HACKSRC}/../../../lib/libc/gen/getcap.c 89 1.15 lukem getgrent.o: ${HACKSRC}/getgrent.c 90 1.15 lukem gethost.o: ${HACKSRC}/gethost.c 91 1.15 lukem getnet.o: ${HACKSRC}/getnet.c 92 1.15 lukem getnetgr.o: ${HACKSRC}/getnetgr.c 93 1.15 lukem getpwent.o: ${HACKSRC}/getpwent.c 94 1.15 lukem localeconv.o: ${HACKSRC}/localeconv.c 95 1.21 christos multibyte.o: ${HACKSRC}/multibyte.c 96 1.15 lukem perror.o: ${HACKSRC}/perror.c 97 1.28 christos jemalloc.o: ${HACKSRC}/../../../lib/libc/stdlib/jemalloc.c 98 1.36 jdolecek aligned_alloc.o: ${HACKSRC}/../../../lib/libc/stdlib/aligned_alloc.c 99 1.22 martin runetable.o: ${HACKSRC}/../../../lib/libc/locale/runetable.c 100 1.15 lukem setlocale.o: ${HACKSRC}/setlocale.c 101 1.15 lukem strerror.o: ${HACKSRC}/strerror.c 102 1.15 lukem strsignal.o: ${HACKSRC}/strsignal.c 103 1.18 christos syslog.o: ${HACKSRC}/syslog.c 104 1.40 christos sysctl.o: ${HACKSRC}/sysctl.c 105 1.15 lukem utmp.o: ${HACKSRC}/utmp.c 106 1.29 roy .if (${USE_YP} != "no") 107 1.15 lukem yplib.o: ${HACKSRC}/yplib.c 108 1.26 christos .endif 109 1.29 roy .endif 110