MAKEFILE(3)

πŸ“¦
version 11.0 Β· 5 versions
, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

Makefile β€” the section 3 man page Makefile, NetBSD flavour. It's the master roster of literally every section-3 page that exists, plus all the alias links (MLINKS) that point back at them. Think of it as the section-3 group chat member list, and yes, everybody gets added. πŸ’–

Quick version tea β˜• for the top of the file: it's stamped $NetBSD: Makefile,v 1.94 2024/10/08 23:11:21 christos Exp and right under that $ # @(#)Makefile 8.2 (Berkeley) 12/13/93. Both of those live up top, bestie, not at the bottom β€” noting it because I love accuracy. ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

Three variables carry the whole personality of this file:

MAN=    <the full list of .3 pages>
USETBL=    # used by queue.3
MLINKS+=    <target page> <alias page>

MAN= holds every real page. USETBL= is set to nothing at all β€” its whole job is that comment. MLINKS+= shows up a lot, and each time it pairs a target page with one more alias that links to it. 🌸


🌈 DESCRIPTION 🌈

okay so this file lowkey runs the entire section-3 man page build. First it declares every page, then it declares every alias, and the aliases are the ones that get symlinked over so man LIST_INSERT_HEAD actually finds something. Slay. πŸ’…

πŸ’œ THE MAN= LIST πŸ’œ

Here's every single page, in the exact order they appear. All 56 of them, no skips, no cap:

  • _DIAGASSERT.3
  • __CONCAT.3
  • __FPTRCAST.3
  • __UNCONST.3
  • __USE.3
  • CMSG_DATA.3
  • __alignof__.3
  • __arraycount.3
  • __builtin_constant_p.3
  • __builtin_prefetch.3
  • __builtin_return_address.3
  • __builtin_types_compatible_p.3
  • __insn_barrier.3
  • assert.3
  • attribute.3
  • bitmap.3
  • bitops.3
  • bits.3
  • bitstring.3
  • cdefs.3
  • container_of.3
  • dirent.3
  • dlfcn.3
  • dlinfo.3
  • dl_iterate_phdr.3
  • end.3
  • fast_divide32.3
  • ffs32.3
  • gcq.3
  • ilog2.3
  • intro.3
  • inttypes.3
  • iso646.3
  • limits.3
  • makedev.3
  • offsetof.3
  • param.3
  • paths.3
  • queue.3
  • rbtree.3
  • sigevent.3
  • stdarg.3
  • stdbool.3
  • stddef.3
  • stdint.3
  • stdlib.3
  • sysexits.3
  • tgmath.3
  • timeradd.3
  • timeval.3
  • tm.3
  • tree.3
  • typeof.3
  • types.3
  • uchar.3
  • unistd.3

🫢 USETBL 🫢

One line, one comment, zero content:

USETBL= # used by queue.3

It's giving "I'm just here for the vibes" and honestly? Respect. 🧚

Each entry below is written as target β†’ alias, exactly in file order, exactly as spelled. Nothing merged, nothing dropped, duplicates preserved (there is one, keep reading, I gotchu). ⭐

__CONCAT.3 & the underscore girlies

  • __CONCAT.3 β†’ __STRING.3
  • __UNCONST.3 β†’ __UNVOLATILE.3
  • __builtin_return_address.3 β†’ __builtin_frame_address.3

the attribute.3 cinematic universe πŸ‘‘

  • attribute.3 β†’ __dead.3
  • attribute.3 β†’ __pure.3
  • attribute.3 β†’ __constfunc.3
  • attribute.3 β†’ __noinline.3
  • attribute.3 β†’ __unused.3
  • attribute.3 β†’ __used.3
  • attribute.3 β†’ __diagused.3
  • attribute.3 β†’ __debugused.3
  • attribute.3 β†’ __packed.3
  • attribute.3 β†’ __aligned.3
  • attribute.3 β†’ __section.3
  • attribute.3 β†’ __read_mostly.3
  • attribute.3 β†’ __cacheline_aligned.3
  • attribute.3 β†’ __predict_true.3
  • attribute.3 β†’ __predict_false.3

bitstring.3 era πŸŽ€

  • bitstring.3 β†’ bit_alloc.3
  • bitstring.3 β†’ bit_clear.3
  • bitstring.3 β†’ bit_decl.3
  • bitstring.3 β†’ bit_ffc.3
  • bitstring.3 β†’ bit_ffs.3
  • bitstring.3 β†’ bit_nclear.3
  • bitstring.3 β†’ bit_nset.3
  • bitstring.3 β†’ bit_set.3
  • bitstring.3 β†’ bitstr_size.3
  • bitstring.3 β†’ bit_test.3

bits.3 🌸

  • bits.3 β†’ __BIT.3
  • bits.3 β†’ __BITS.3
  • bits.3 β†’ __MASK.3
  • bits.3 β†’ __SHIFTIN.3
  • bits.3 β†’ __SHIFTOUT.3
  • bits.3 β†’ __SHIFTOUT_MASK.3

cdefs.3 πŸ¦‹

  • cdefs.3 β†’ __RCSID.3
  • cdefs.3 β†’ __KERNEL_RCSID.3

end.3 ⭐

  • end.3 β†’ edata.3
  • end.3 β†’ etext.3

fast_divide32.3 πŸ’€

  • fast_divide32.3 β†’ fast_divide32_prepare.3
  • fast_divide32.3 β†’ fast_remainder32.3

ffs32.3 ✨

  • ffs32.3 β†’ ffs64.3
  • ffs32.3 β†’ fls32.3
  • ffs32.3 β†’ fls64.3

makedev.3 πŸ“

  • makedev.3 β†’ major.3
  • makedev.3 β†’ minor.3

the gcq.3 multiverse 🌌 (yes it's this long, no I'm not skipping any)

  • gcq.3 β†’ GCQ_INIT.3
  • gcq.3 β†’ GCQ_INIT_HEAD.3
  • gcq.3 β†’ gcq_init.3
  • gcq.3 β†’ gcq_init_head.3
  • gcq.3 β†’ gcq_q.3
  • gcq.3 β†’ gcq_hq.3
  • gcq.3 β†’ gcq_head.3
  • gcq.3 β†’ gcq_remove.3
  • gcq.3 β†’ gcq_onlist.3
  • gcq.3 β†’ gcq_empty.3
  • gcq.3 β†’ gcq_linked.3
  • gcq.3 β†’ gcq_insert_after.3
  • gcq.3 β†’ gcq_insert_before.3
  • gcq.3 β†’ gcq_insert_head.3
  • gcq.3 β†’ gcq_insert_tail.3
  • gcq.3 β†’ gcq_tie.3
  • gcq.3 β†’ gcq_tie_after.3
  • gcq.3 β†’ gcq_tie_before.3
  • gcq.3 β†’ gcq_merge.3
  • gcq.3 β†’ gcq_merge_head.3
  • gcq.3 β†’ gcq_merge_tail.3
  • gcq.3 β†’ gcq_clear.3
  • gcq.3 β†’ gcq_remove_all.3
  • gcq.3 β†’ GCQ_ITEM.3
  • gcq.3 β†’ GCQ_GOT_FIRST.3
  • gcq.3 β†’ GCQ_GOT_LAST.3
  • gcq.3 β†’ GCQ_GOT_NEXT.3
  • gcq.3 β†’ GCQ_GOT_PREV.3
  • gcq.3 β†’ GCQ_DEQUEUED_FIRST.3
  • gcq.3 β†’ GCQ_DEQUEUED_LAST.3
  • gcq.3 β†’ GCQ_DEQUEUED_NEXT.3
  • gcq.3 β†’ GCQ_DEQUEUED_PREV.3
  • gcq.3 β†’ GCQ_GOT_FIRST_TYPED.3
  • gcq.3 β†’ GCQ_GOT_LAST_TYPED.3
  • gcq.3 β†’ GCQ_GOT_NEXT_TYPED.3
  • gcq.3 β†’ GCQ_GOT_PREV_TYPED.3
  • gcq.3 β†’ GCQ_DEQUEUED_FIRST_TYPED.3
  • gcq.3 β†’ GCQ_DEQUEUED_LAST_TYPED.3
  • gcq.3 β†’ GCQ_DEQUEUED_NEXT_TYPED.3
  • gcq.3 β†’ GCQ_DEQUEUED_PREV_TYPED.3
  • gcq.3 β†’ GCQ_GOT_FIRST_COND.3
  • gcq.3 β†’ GCQ_GOT_LAST_COND.3
  • gcq.3 β†’ GCQ_GOT_NEXT_COND.3
  • gcq.3 β†’ GCQ_GOT_PREV_COND.3
  • gcq.3 β†’ GCQ_DEQUEUED_FIRST_COND.3
  • gcq.3 β†’ GCQ_DEQUEUED_LAST_COND.3
  • gcq.3 β†’ GCQ_DEQUEUED_NEXT_COND.3
  • gcq.3 β†’ GCQ_DEQUEUED_PREV_COND.3
  • gcq.3 β†’ GCQ_GOT_FIRST_COND_TYPED.3
  • gcq.3 β†’ GCQ_GOT_LAST_COND_TYPED.3
  • gcq.3 β†’ GCQ_GOT_NEXT_COND_TYPED.3
  • gcq.3 β†’ GCQ_GOT_PREV_COND_TYPED.3
  • gcq.3 β†’ GCQ_DEQUEUED_FIRST_COND_TYPED.3
  • gcq.3 β†’ GCQ_DEQUEUED_LAST_COND_TYPED.3
  • gcq.3 β†’ GCQ_DEQUEUED_NEXT_COND_TYPED.3
  • gcq.3 β†’ GCQ_DEQUEUED_PREV_COND_TYPED.3
  • gcq.3 β†’ GCQ_FOREACH.3
  • gcq.3 β†’ GCQ_FOREACH_REV.3
  • gcq.3 β†’ GCQ_FOREACH_NVAR.3
  • gcq.3 β†’ GCQ_FOREACH_NVAR_REV.3
  • gcq.3 β†’ GCQ_FOREACH_RO.3
  • gcq.3 β†’ GCQ_FOREACH_RO_REV.3
  • gcq.3 β†’ GCQ_FOREACH_DEQUEUED.3
  • gcq.3 β†’ GCQ_FOREACH_DEQUEUED_REV.3
  • gcq.3 β†’ GCQ_FOREACH_TYPED.3
  • gcq.3 β†’ GCQ_FOREACH_REV_TYPED.3
  • gcq.3 β†’ GCQ_FOREACH_NVAR_TYPED.3
  • gcq.3 β†’ GCQ_FOREACH_NVAR_REV_TYPED.3
  • gcq.3 β†’ GCQ_FOREACH_RO_TYPED.3
  • gcq.3 β†’ GCQ_FOREACH_RO_REV_TYPED.3
  • gcq.3 β†’ GCQ_FOREACH_DEQUEUED_TYPED.3
  • gcq.3 β†’ GCQ_FOREACH_DEQUEUED_REV_TYPED.3
  • gcq.3 β†’ GCQ_FIND.3
  • gcq.3 β†’ GCQ_FIND_REV.3
  • gcq.3 β†’ GCQ_FIND_TYPED.3
  • gcq.3 β†’ GCQ_FIND_REV_TYPED.3

queue.3 presents: the LIST family πŸ‘‘

  • queue.3 β†’ LIST.3
  • queue.3 β†’ LIST_EMPTY.3
  • queue.3 β†’ LIST_ENTRY.3
  • queue.3 β†’ LIST_FIRST.3
  • queue.3 β†’ LIST_FOREACH.3
  • queue.3 β†’ LIST_FOREACH_SAFE.3
  • queue.3 β†’ LIST_HEAD.3
  • queue.3 β†’ LIST_HEAD_INITIALIZER.3
  • queue.3 β†’ LIST_INIT.3
  • queue.3 β†’ LIST_INSERT_AFTER.3
  • queue.3 β†’ LIST_INSERT_BEFORE.3
  • queue.3 β†’ LIST_INSERT_HEAD.3
  • queue.3 β†’ LIST_NEXT.3
  • queue.3 β†’ LIST_REMOVE.3
  • queue.3 β†’ LIST_REPLACE.3

SIMPLEQ edition πŸŽ€

  • queue.3 β†’ SIMPLEQ.3
  • queue.3 β†’ SIMPLEQ_CONCAT.3
  • queue.3 β†’ SIMPLEQ_EMPTY.3
  • queue.3 β†’ SIMPLEQ_ENTRY.3
  • queue.3 β†’ SIMPLEQ_FIRST.3
  • queue.3 β†’ SIMPLEQ_FOREACH.3
  • queue.3 β†’ SIMPLEQ_FOREACH_SAFE.3
  • queue.3 β†’ SIMPLEQ_HEAD.3
  • queue.3 β†’ SIMPLEQ_HEAD_INITIALIZER.3
  • queue.3 β†’ SIMPLEQ_INIT.3
  • queue.3 β†’ SIMPLEQ_INSERT_AFTER.3
  • queue.3 β†’ SIMPLEQ_INSERT_HEAD.3
  • queue.3 β†’ SIMPLEQ_INSERT_TAIL.3
  • queue.3 β†’ SIMPLEQ_LAST.3
  • queue.3 β†’ SIMPLEQ_NEXT.3
  • queue.3 β†’ SIMPLEQ_REMOVE.3
  • queue.3 β†’ SIMPLEQ_REMOVE_AFTER.3
  • queue.3 β†’ SIMPLEQ_REMOVE_HEAD.3
  • queue.3 β†’ SIMPLEQ_REMOVE.3
πŸ‘€ bestie I promised I'd tell you: SIMPLEQ_REMOVE.3 genuinely appears twice in this group β€” once before SIMPLEQ_REMOVE_AFTER.3 and once again at the very end. That's what the file says, so that's what I'm giving you. Not a typo on my end, fr fr.

SLIST era πŸ¦‹

  • queue.3 β†’ SLIST.3
  • queue.3 β†’ SLIST_EMPTY.3
  • queue.3 β†’ SLIST_ENTRY.3
  • queue.3 β†’ SLIST_FIRST.3
  • queue.3 β†’ SLIST_FOREACH.3
  • queue.3 β†’ SLIST_FOREACH_SAFE.3
  • queue.3 β†’ SLIST_HEAD.3
  • queue.3 β†’ SLIST_HEAD_INITIALIZER.3
  • queue.3 β†’ SLIST_INIT.3
  • queue.3 β†’ SLIST_INSERT_AFTER.3
  • queue.3 β†’ SLIST_INSERT_HEAD.3
  • queue.3 β†’ SLIST_NEXT.3
  • queue.3 β†’ SLIST_REMOVE.3
  • queue.3 β†’ SLIST_REMOVE_AFTER.3
  • queue.3 β†’ SLIST_REMOVE_HEAD.3

STAILQ chapter πŸ’œ

  • queue.3 β†’ STAILQ.3
  • queue.3 β†’ STAILQ_CONCAT.3
  • queue.3 β†’ STAILQ_EMPTY.3
  • queue.3 β†’ STAILQ_ENTRY.3
  • queue.3 β†’ STAILQ_FIRST.3
  • queue.3 β†’ STAILQ_FOREACH.3
  • queue.3 β†’ STAILQ_FOREACH_SAFE.3
  • queue.3 β†’ STAILQ_HEAD.3
  • queue.3 β†’ STAILQ_HEAD_INITIALIZER.3
  • queue.3 β†’ STAILQ_INIT.3
  • queue.3 β†’ STAILQ_INSERT_AFTER.3
  • queue.3 β†’ STAILQ_INSERT_HEAD.3
  • queue.3 β†’ STAILQ_INSERT_TAIL.3
  • queue.3 β†’ STAILQ_LAST.3
  • queue.3 β†’ STAILQ_NEXT.3
  • queue.3 β†’ STAILQ_REMOVE.3
  • queue.3 β†’ STAILQ_REMOVE_HEAD.3

TAILQ finale πŸ”₯

  • queue.3 β†’ TAILQ.3
  • queue.3 β†’ TAILQ_CONCAT.3
  • queue.3 β†’ TAILQ_EMPTY.3
  • queue.3 β†’ TAILQ_ENTRY.3
  • queue.3 β†’ TAILQ_FIRST.3
  • queue.3 β†’ TAILQ_FOREACH.3
  • queue.3 β†’ TAILQ_FOREACH_SAFE.3
  • queue.3 β†’ TAILQ_FOREACH_REVERSE.3
  • queue.3 β†’ TAILQ_FOREACH_REVERSE_SAFE.3
  • queue.3 β†’ TAILQ_HEAD.3
  • queue.3 β†’ TAILQ_HEAD_INITIALIZER.3
  • queue.3 β†’ TAILQ_INIT.3
  • queue.3 β†’ TAILQ_INSERT_AFTER.3
  • queue.3 β†’ TAILQ_INSERT_BEFORE.3
  • queue.3 β†’ TAILQ_INSERT_HEAD.3
  • queue.3 β†’ TAILQ_INSERT_TAIL.3
  • queue.3 β†’ TAILQ_LAST.3
  • queue.3 β†’ TAILQ_NEXT.3
  • queue.3 β†’ TAILQ_PREV.3
  • queue.3 β†’ TAILQ_REMOVE.3
  • queue.3 β†’ TAILQ_REPLACE.3

rbtree.3 🌳

  • rbtree.3 β†’ rb_tree_init.3
  • rbtree.3 β†’ rb_tree_insert_node.3
  • rbtree.3 β†’ rb_tree_find_node.3
  • rbtree.3 β†’ rb_tree_find_node_geq.3
  • rbtree.3 β†’ rb_tree_find_node_leq.3
  • rbtree.3 β†’ rb_tree_iterate.3

stdarg.3 ✨

  • stdarg.3 β†’ va_arg.3
  • stdarg.3 β†’ va_copy.3
  • stdarg.3 β†’ va_end.3
  • stdarg.3 β†’ va_start.3

param.3 🌸

  • param.3 β†’ MAX.3
  • param.3 β†’ MIN.3

dirent.3 πŸ“

  • dirent.3 β†’ dir.3
  • dirent.3 β†’ IFTODT.3
  • dirent.3 β†’ DTTOIF.3

dlfcn.3 πŸ’€

  • dlfcn.3 β†’ _dlauxinfo.3
  • dlfcn.3 β†’ dlopen.3
  • dlfcn.3 β†’ dlclose.3
  • dlfcn.3 β†’ dlsym.3
  • dlfcn.3 β†’ dlctl.3
  • dlfcn.3 β†’ dlerror.3
  • dlfcn.3 β†’ dladdr.3
  • dlfcn.3 β†’ dlvsym.3

timeradd.3 ⏰

  • timeradd.3 β†’ timersub.3
  • timeradd.3 β†’ timerclear.3
  • timeradd.3 β†’ timerisset.3
  • timeradd.3 β†’ timercmp.3
  • timeradd.3 β†’ timespecadd.3
  • timeradd.3 β†’ timespecsub.3
  • timeradd.3 β†’ timespecclear.3
  • timeradd.3 β†’ timespecisset.3
  • timeradd.3 β†’ timespeccmp.3

timeval.3 πŸ•°οΈ

  • timeval.3 β†’ timespec.3
  • timeval.3 β†’ itimerval.3
  • timeval.3 β†’ itimerspec.3
  • timeval.3 β†’ TIMEVAL_TO_TIMESPEC.3
  • timeval.3 β†’ TIMESPEC_TO_TIMEVAL.3

tree.3, the SPLAY saga 🌈

  • tree.3 β†’ SPLAY_PROTOTYPE.3
  • tree.3 β†’ SPLAY_GENERATE.3
  • tree.3 β†’ SPLAY_ENTRY.3
  • tree.3 β†’ SPLAY_HEAD.3
  • tree.3 β†’ SPLAY_INITIALIZER.3
  • tree.3 β†’ SPLAY_ROOT.3
  • tree.3 β†’ SPLAY_EMPTY.3
  • tree.3 β†’ SPLAY_NEXT.3
  • tree.3 β†’ SPLAY_MIN.3
  • tree.3 β†’ SPLAY_MAX.3
  • tree.3 β†’ SPLAY_FIND.3
  • tree.3 β†’ SPLAY_LEFT.3
  • tree.3 β†’ SPLAY_RIGHT.3
  • tree.3 β†’ SPLAY_INIT.3
  • tree.3 β†’ SPLAY_INSERT.3
  • tree.3 β†’ SPLAY_REMOVE.3
  • tree.3 β†’ SPLAY_FOREACH.3

tree.3, the RB saga πŸ‘‘

  • tree.3 β†’ RB_PROTOTYPE.3
  • tree.3 β†’ RB_GENERATE.3
  • tree.3 β†’ RB_ENTRY.3
  • tree.3 β†’ RB_HEAD.3
  • tree.3 β†’ RB_INITIALIZER.3
  • tree.3 β†’ RB_ROOT.3
  • tree.3 β†’ RB_EMPTY.3
  • tree.3 β†’ RB_NEXT.3
  • tree.3 β†’ RB_MIN.3
  • tree.3 β†’ RB_MAX.3
  • tree.3 β†’ RB_FIND.3
  • tree.3 β†’ RB_LEFT.3
  • tree.3 β†’ RB_RIGHT.3
  • tree.3 β†’ RB_PARENT.3
  • tree.3 β†’ RB_INIT.3
  • tree.3 β†’ RB_INSERT.3
  • tree.3 β†’ RB_REMOVE.3
  • tree.3 β†’ RB_FOREACH.3

CMSG_DATA.3 🧚

  • CMSG_DATA.3 β†’ CMSG_FIRSTHDR.3
  • CMSG_DATA.3 β†’ CMSG_LEN.3
  • CMSG_DATA.3 β†’ CMSG_NXTHDR.3
  • CMSG_DATA.3 β†’ CMSG_SPACE.3
  • CMSG_DATA.3 β†’ cmsg.3

bitmap.3 ⭐

  • bitmap.3 β†’ __BITMAP_CLR.3
  • bitmap.3 β†’ __BITMAP_ISSET.3
  • bitmap.3 β†’ __BITMAP_SET.3
  • bitmap.3 β†’ __BITMAP_SIZE.3
  • bitmap.3 β†’ __BITMAP_TYPE.3
  • bitmap.3 β†’ __BITMAP_ZERO.3

πŸ’… reminder for the girlies in the back: MLINKS+= takes two names and the second one becomes a link to the first. MAN= is the real list. USETBL= is the empty strut. That's the whole file. No options, no exit statuses, no environment variables, no SEE ALSO β€” this page is literally just the roster. 🫢

🌟 SIGN-OFF 🌟

That's the whole thing, bestie β€” every page, every alias, every duplicate, all of it, nothing dropped. πŸŽ€

This section-3 Makefile clocks in as $NetBSD: Makefile,v 1.94 2024/10/08 23:11:21 christos Exp, with the Berkeley ancestry right under it at @(#)Makefile 8.2 (Berkeley) 12/13/93 β€” those stamps sit at the top of the file, but I'm tipping my crown to them down here on the way out. πŸ’– periodt. ✨

πŸ“¦ where this page comes from