Hex Artifact Content
Not logged in

Artifact 4d55a05a35c28f4edebf6e7a89e60aaeb94c0c5e:


0000: 23 20 43 6c 65 61 72 20 6f 75 74 20 61 6c 6c 20  # Clear out all 
0010: 76 70 61 74 68 73 2c 20 74 68 65 6e 20 73 65 74  vpaths, then set
0020: 20 6a 75 73 74 20 6f 6e 65 20 28 64 65 66 61 75   just one (defau
0030: 6c 74 20 76 70 61 74 68 29 20 66 6f 72 20 74 68  lt vpath) for th
0040: 65 20 6d 61 69 6e 20 62 75 69 6c 64 0a 23 20 64  e main build.# d
0050: 69 72 65 63 74 6f 72 79 2e 0a 76 70 61 74 68 0a  irectory..vpath.
0060: 76 70 61 74 68 20 25 20 2e 0a 0a 23 20 43 6c 65  vpath % ...# Cle
0070: 61 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 73  ar the default s
0080: 75 66 66 69 78 65 73 2c 20 73 6f 20 74 68 61 74  uffixes, so that
0090: 20 62 75 69 6c 74 2d 69 6e 20 72 75 6c 65 73 20   built-in rules 
00a0: 61 72 65 20 6e 6f 74 20 75 73 65 64 2e 0a 2e 53  are not used...S
00b0: 55 46 46 49 58 45 53 20 3a 0a 0a 53 48 45 4c 4c  UFFIXES :..SHELL
00c0: 20 3a 3d 20 2f 62 69 6e 2f 73 68 0a 0a 43 43 20   := /bin/sh..CC 
00d0: 3a 3d 20 40 43 43 40 0a 0a 23 20 43 6f 6e 66 69  := @CC@..# Confi
00e0: 67 75 72 61 74 69 6f 6e 20 70 61 72 61 6d 65 74  guration paramet
00f0: 65 72 73 2e 0a 44 45 53 54 44 49 52 20 3d 0a 42  ers..DESTDIR =.B
0100: 49 4e 44 49 52 20 3a 3d 20 24 28 44 45 53 54 44  INDIR := $(DESTD
0110: 49 52 29 40 42 49 4e 44 49 52 40 0a 49 4e 43 4c  IR)@BINDIR@.INCL
0120: 55 44 45 44 49 52 20 3a 3d 20 24 28 44 45 53 54  UDEDIR := $(DEST
0130: 44 49 52 29 40 49 4e 43 4c 55 44 45 44 49 52 40  DIR)@INCLUDEDIR@
0140: 0a 4c 49 42 44 49 52 20 3a 3d 20 24 28 44 45 53  .LIBDIR := $(DES
0150: 54 44 49 52 29 40 4c 49 42 44 49 52 40 0a 44 41  TDIR)@LIBDIR@.DA
0160: 54 41 44 49 52 20 3a 3d 20 24 28 44 45 53 54 44  TADIR := $(DESTD
0170: 49 52 29 40 44 41 54 41 44 49 52 40 0a 4d 41 4e  IR)@DATADIR@.MAN
0180: 44 49 52 20 3a 3d 20 24 28 44 45 53 54 44 49 52  DIR := $(DESTDIR
0190: 29 40 4d 41 4e 44 49 52 40 0a 73 72 63 72 6f 6f  )@MANDIR@.srcroo
01a0: 74 20 3a 3d 20 40 73 72 63 72 6f 6f 74 40 0a 6f  t := @srcroot@.o
01b0: 62 6a 72 6f 6f 74 20 3a 3d 20 40 6f 62 6a 72 6f  bjroot := @objro
01c0: 6f 74 40 0a 61 62 73 5f 73 72 63 72 6f 6f 74 20  ot@.abs_srcroot 
01d0: 3a 3d 20 40 61 62 73 5f 73 72 63 72 6f 6f 74 40  := @abs_srcroot@
01e0: 0a 61 62 73 5f 6f 62 6a 72 6f 6f 74 20 3a 3d 20  .abs_objroot := 
01f0: 40 61 62 73 5f 6f 62 6a 72 6f 6f 74 40 0a 0a 23  @abs_objroot@..#
0200: 20 42 75 69 6c 64 20 70 61 72 61 6d 65 74 65 72   Build parameter
0210: 73 2e 0a 43 50 50 46 4c 41 47 53 20 3a 3d 20 40  s..CPPFLAGS := @
0220: 43 50 50 46 4c 41 47 53 40 20 2d 49 24 28 73 72  CPPFLAGS@ -I$(sr
0230: 63 72 6f 6f 74 29 69 6e 63 6c 75 64 65 20 2d 49  croot)include -I
0240: 24 28 6f 62 6a 72 6f 6f 74 29 69 6e 63 6c 75 64  $(objroot)includ
0250: 65 0a 43 4f 4e 46 49 47 55 52 45 5f 43 46 4c 41  e.CONFIGURE_CFLA
0260: 47 53 20 3a 3d 20 40 43 4f 4e 46 49 47 55 52 45  GS := @CONFIGURE
0270: 5f 43 46 4c 41 47 53 40 0a 53 50 45 43 49 46 49  _CFLAGS@.SPECIFI
0280: 45 44 5f 43 46 4c 41 47 53 20 3a 3d 20 40 53 50  ED_CFLAGS := @SP
0290: 45 43 49 46 49 45 44 5f 43 46 4c 41 47 53 40 0a  ECIFIED_CFLAGS@.
02a0: 45 58 54 52 41 5f 43 46 4c 41 47 53 20 3a 3d 20  EXTRA_CFLAGS := 
02b0: 40 45 58 54 52 41 5f 43 46 4c 41 47 53 40 0a 43  @EXTRA_CFLAGS@.C
02c0: 46 4c 41 47 53 20 3a 3d 20 24 28 73 74 72 69 70  FLAGS := $(strip
02d0: 20 24 28 43 4f 4e 46 49 47 55 52 45 5f 43 46 4c   $(CONFIGURE_CFL
02e0: 41 47 53 29 20 24 28 53 50 45 43 49 46 49 45 44  AGS) $(SPECIFIED
02f0: 5f 43 46 4c 41 47 53 29 20 24 28 45 58 54 52 41  _CFLAGS) $(EXTRA
0300: 5f 43 46 4c 41 47 53 29 29 0a 4c 44 46 4c 41 47  _CFLAGS)).LDFLAG
0310: 53 20 3a 3d 20 40 4c 44 46 4c 41 47 53 40 0a 45  S := @LDFLAGS@.E
0320: 58 54 52 41 5f 4c 44 46 4c 41 47 53 20 3a 3d 20  XTRA_LDFLAGS := 
0330: 40 45 58 54 52 41 5f 4c 44 46 4c 41 47 53 40 0a  @EXTRA_LDFLAGS@.
0340: 4c 49 42 53 20 3a 3d 20 40 4c 49 42 53 40 0a 52  LIBS := @LIBS@.R
0350: 50 41 54 48 5f 45 58 54 52 41 20 3a 3d 20 40 52  PATH_EXTRA := @R
0360: 50 41 54 48 5f 45 58 54 52 41 40 0a 53 4f 20 3a  PATH_EXTRA@.SO :
0370: 3d 20 40 73 6f 40 0a 49 4d 50 4f 52 54 4c 49 42  = @so@.IMPORTLIB
0380: 20 3a 3d 20 40 69 6d 70 6f 72 74 6c 69 62 40 0a   := @importlib@.
0390: 4f 20 3a 3d 20 40 6f 40 0a 41 20 3a 3d 20 40 61  O := @o@.A := @a
03a0: 40 0a 45 58 45 20 3a 3d 20 40 65 78 65 40 0a 4c  @.EXE := @exe@.L
03b0: 49 42 50 52 45 46 49 58 20 3a 3d 20 40 6c 69 62  IBPREFIX := @lib
03c0: 70 72 65 66 69 78 40 0a 52 45 56 20 3a 3d 20 40  prefix@.REV := @
03d0: 72 65 76 40 0a 69 6e 73 74 61 6c 6c 5f 73 75 66  rev@.install_suf
03e0: 66 69 78 20 3a 3d 20 40 69 6e 73 74 61 6c 6c 5f  fix := @install_
03f0: 73 75 66 66 69 78 40 0a 41 42 49 20 3a 3d 20 40  suffix@.ABI := @
0400: 61 62 69 40 0a 58 53 4c 54 50 52 4f 43 20 3a 3d  abi@.XSLTPROC :=
0410: 20 40 58 53 4c 54 50 52 4f 43 40 0a 41 55 54 4f   @XSLTPROC@.AUTO
0420: 43 4f 4e 46 20 3a 3d 20 40 41 55 54 4f 43 4f 4e  CONF := @AUTOCON
0430: 46 40 0a 5f 52 50 41 54 48 20 3d 20 40 52 50 41  F@._RPATH = @RPA
0440: 54 48 40 0a 52 50 41 54 48 20 3d 20 24 28 69 66  TH@.RPATH = $(if
0450: 20 24 28 31 29 2c 24 28 63 61 6c 6c 20 5f 52 50   $(1),$(call _RP
0460: 41 54 48 2c 24 28 31 29 29 29 0a 63 66 67 68 64  ATH,$(1))).cfghd
0470: 72 73 5f 69 6e 20 3a 3d 20 24 28 61 64 64 70 72  rs_in := $(addpr
0480: 65 66 69 78 20 24 28 73 72 63 72 6f 6f 74 29 2c  efix $(srcroot),
0490: 40 63 66 67 68 64 72 73 5f 69 6e 40 29 0a 63 66  @cfghdrs_in@).cf
04a0: 67 68 64 72 73 5f 6f 75 74 20 3a 3d 20 40 63 66  ghdrs_out := @cf
04b0: 67 68 64 72 73 5f 6f 75 74 40 0a 63 66 67 6f 75  ghdrs_out@.cfgou
04c0: 74 70 75 74 73 5f 69 6e 20 3a 3d 20 24 28 61 64  tputs_in := $(ad
04d0: 64 70 72 65 66 69 78 20 24 28 73 72 63 72 6f 6f  dprefix $(srcroo
04e0: 74 29 2c 40 63 66 67 6f 75 74 70 75 74 73 5f 69  t),@cfgoutputs_i
04f0: 6e 40 29 0a 63 66 67 6f 75 74 70 75 74 73 5f 6f  n@).cfgoutputs_o
0500: 75 74 20 3a 3d 20 40 63 66 67 6f 75 74 70 75 74  ut := @cfgoutput
0510: 73 5f 6f 75 74 40 0a 65 6e 61 62 6c 65 5f 61 75  s_out@.enable_au
0520: 74 6f 67 65 6e 20 3a 3d 20 40 65 6e 61 62 6c 65  togen := @enable
0530: 5f 61 75 74 6f 67 65 6e 40 0a 65 6e 61 62 6c 65  _autogen@.enable
0540: 5f 63 6f 64 65 5f 63 6f 76 65 72 61 67 65 20 3a  _code_coverage :
0550: 3d 20 40 65 6e 61 62 6c 65 5f 63 6f 64 65 5f 63  = @enable_code_c
0560: 6f 76 65 72 61 67 65 40 0a 65 6e 61 62 6c 65 5f  overage@.enable_
0570: 70 72 6f 66 20 3a 3d 20 40 65 6e 61 62 6c 65 5f  prof := @enable_
0580: 70 72 6f 66 40 0a 65 6e 61 62 6c 65 5f 76 61 6c  prof@.enable_val
0590: 67 72 69 6e 64 20 3a 3d 20 40 65 6e 61 62 6c 65  grind := @enable
05a0: 5f 76 61 6c 67 72 69 6e 64 40 0a 65 6e 61 62 6c  _valgrind@.enabl
05b0: 65 5f 7a 6f 6e 65 5f 61 6c 6c 6f 63 61 74 6f 72  e_zone_allocator
05c0: 20 3a 3d 20 40 65 6e 61 62 6c 65 5f 7a 6f 6e 65   := @enable_zone
05d0: 5f 61 6c 6c 6f 63 61 74 6f 72 40 0a 4d 41 4c 4c  _allocator@.MALL
05e0: 4f 43 5f 43 4f 4e 46 20 3a 3d 20 40 4a 45 4d 41  OC_CONF := @JEMA
05f0: 4c 4c 4f 43 5f 43 50 52 45 46 49 58 40 4d 41 4c  LLOC_CPREFIX@MAL
0600: 4c 4f 43 5f 43 4f 4e 46 0a 6c 69 6e 6b 5f 77 68  LOC_CONF.link_wh
0610: 6f 6c 65 5f 61 72 63 68 69 76 65 20 3a 3d 20 40  ole_archive := @
0620: 6c 69 6e 6b 5f 77 68 6f 6c 65 5f 61 72 63 68 69  link_whole_archi
0630: 76 65 40 0a 44 53 4f 5f 4c 44 46 4c 41 47 53 20  ve@.DSO_LDFLAGS 
0640: 3d 20 40 44 53 4f 5f 4c 44 46 4c 41 47 53 40 0a  = @DSO_LDFLAGS@.
0650: 53 4f 52 45 56 20 3d 20 40 53 4f 52 45 56 40 0a  SOREV = @SOREV@.
0660: 50 49 43 5f 43 46 4c 41 47 53 20 3d 20 40 50 49  PIC_CFLAGS = @PI
0670: 43 5f 43 46 4c 41 47 53 40 0a 43 54 41 52 47 45  C_CFLAGS@.CTARGE
0680: 54 20 3d 20 40 43 54 41 52 47 45 54 40 0a 4c 44  T = @CTARGET@.LD
0690: 54 41 52 47 45 54 20 3d 20 40 4c 44 54 41 52 47  TARGET = @LDTARG
06a0: 45 54 40 0a 54 45 53 54 5f 4c 44 5f 4d 4f 44 45  ET@.TEST_LD_MODE
06b0: 20 3d 20 40 54 45 53 54 5f 4c 44 5f 4d 4f 44 45   = @TEST_LD_MODE
06c0: 40 0a 4d 4b 4c 49 42 20 3d 20 40 4d 4b 4c 49 42  @.MKLIB = @MKLIB
06d0: 40 0a 41 52 20 3d 20 40 41 52 40 0a 41 52 46 4c  @.AR = @AR@.ARFL
06e0: 41 47 53 20 3d 20 40 41 52 46 4c 41 47 53 40 0a  AGS = @ARFLAGS@.
06f0: 43 43 5f 4d 4d 20 3d 20 40 43 43 5f 4d 4d 40 0a  CC_MM = @CC_MM@.
0700: 4c 4d 20 3a 3d 20 40 4c 4d 40 0a 49 4e 53 54 41  LM := @LM@.INSTA
0710: 4c 4c 20 3d 20 40 49 4e 53 54 41 4c 4c 40 0a 0a  LL = @INSTALL@..
0720: 69 66 65 71 20 28 6d 61 63 68 6f 2c 20 24 28 41  ifeq (macho, $(A
0730: 42 49 29 29 0a 54 45 53 54 5f 4c 49 42 52 41 52  BI)).TEST_LIBRAR
0740: 59 5f 50 41 54 48 20 3a 3d 20 44 59 4c 44 5f 46  Y_PATH := DYLD_F
0750: 41 4c 4c 42 41 43 4b 5f 4c 49 42 52 41 52 59 5f  ALLBACK_LIBRARY_
0760: 50 41 54 48 3d 22 24 28 6f 62 6a 72 6f 6f 74 29  PATH="$(objroot)
0770: 6c 69 62 22 0a 65 6c 73 65 0a 69 66 65 71 20 28  lib".else.ifeq (
0780: 70 65 63 6f 66 66 2c 20 24 28 41 42 49 29 29 0a  pecoff, $(ABI)).
0790: 54 45 53 54 5f 4c 49 42 52 41 52 59 5f 50 41 54  TEST_LIBRARY_PAT
07a0: 48 20 3a 3d 20 50 41 54 48 3d 22 24 28 50 41 54  H := PATH="$(PAT
07b0: 48 29 3a 24 28 6f 62 6a 72 6f 6f 74 29 6c 69 62  H):$(objroot)lib
07c0: 22 0a 65 6c 73 65 0a 54 45 53 54 5f 4c 49 42 52  ".else.TEST_LIBR
07d0: 41 52 59 5f 50 41 54 48 20 3a 3d 0a 65 6e 64 69  ARY_PATH :=.endi
07e0: 66 0a 65 6e 64 69 66 0a 0a 4c 49 42 4a 45 4d 41  f.endif..LIBJEMA
07f0: 4c 4c 4f 43 20 3a 3d 20 24 28 4c 49 42 50 52 45  LLOC := $(LIBPRE
0800: 46 49 58 29 6a 65 6d 61 6c 6c 6f 63 24 28 69 6e  FIX)jemalloc$(in
0810: 73 74 61 6c 6c 5f 73 75 66 66 69 78 29 0a 0a 23  stall_suffix)..#
0820: 20 4c 69 73 74 73 20 6f 66 20 66 69 6c 65 73 2e   Lists of files.
0830: 0a 42 49 4e 53 20 3a 3d 20 24 28 6f 62 6a 72 6f  .BINS := $(objro
0840: 6f 74 29 62 69 6e 2f 6a 65 6d 61 6c 6c 6f 63 2d  ot)bin/jemalloc-
0850: 63 6f 6e 66 69 67 20 24 28 6f 62 6a 72 6f 6f 74  config $(objroot
0860: 29 62 69 6e 2f 6a 65 6d 61 6c 6c 6f 63 2e 73 68  )bin/jemalloc.sh
0870: 20 24 28 6f 62 6a 72 6f 6f 74 29 62 69 6e 2f 6a   $(objroot)bin/j
0880: 65 70 72 6f 66 0a 43 5f 48 44 52 53 20 3a 3d 20  eprof.C_HDRS := 
0890: 24 28 6f 62 6a 72 6f 6f 74 29 69 6e 63 6c 75 64  $(objroot)includ
08a0: 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61 6c  e/jemalloc/jemal
08b0: 6c 6f 63 24 28 69 6e 73 74 61 6c 6c 5f 73 75 66  loc$(install_suf
08c0: 66 69 78 29 2e 68 0a 43 5f 53 52 43 53 20 3a 3d  fix).h.C_SRCS :=
08d0: 20 24 28 73 72 63 72 6f 6f 74 29 73 72 63 2f 6a   $(srcroot)src/j
08e0: 65 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 09 24 28 73  emalloc.c \..$(s
08f0: 72 63 72 6f 6f 74 29 73 72 63 2f 61 72 65 6e 61  rcroot)src/arena
0900: 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29  .c \..$(srcroot)
0910: 73 72 63 2f 61 74 6f 6d 69 63 2e 63 20 5c 0a 09  src/atomic.c \..
0920: 24 28 73 72 63 72 6f 6f 74 29 73 72 63 2f 62 61  $(srcroot)src/ba
0930: 73 65 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f  se.c \..$(srcroo
0940: 74 29 73 72 63 2f 62 69 74 6d 61 70 2e 63 20 5c  t)src/bitmap.c \
0950: 0a 09 24 28 73 72 63 72 6f 6f 74 29 73 72 63 2f  ..$(srcroot)src/
0960: 63 68 75 6e 6b 2e 63 20 5c 0a 09 24 28 73 72 63  chunk.c \..$(src
0970: 72 6f 6f 74 29 73 72 63 2f 63 68 75 6e 6b 5f 64  root)src/chunk_d
0980: 73 73 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f  ss.c \..$(srcroo
0990: 74 29 73 72 63 2f 63 68 75 6e 6b 5f 6d 6d 61 70  t)src/chunk_mmap
09a0: 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29  .c \..$(srcroot)
09b0: 73 72 63 2f 63 6b 68 2e 63 20 5c 0a 09 24 28 73  src/ckh.c \..$(s
09c0: 72 63 72 6f 6f 74 29 73 72 63 2f 63 74 6c 2e 63  rcroot)src/ctl.c
09d0: 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29 73 72   \..$(srcroot)sr
09e0: 63 2f 65 78 74 65 6e 74 2e 63 20 5c 0a 09 24 28  c/extent.c \..$(
09f0: 73 72 63 72 6f 6f 74 29 73 72 63 2f 68 61 73 68  srcroot)src/hash
0a00: 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29  .c \..$(srcroot)
0a10: 73 72 63 2f 68 75 67 65 2e 63 20 5c 0a 09 24 28  src/huge.c \..$(
0a20: 73 72 63 72 6f 6f 74 29 73 72 63 2f 6d 62 2e 63  srcroot)src/mb.c
0a30: 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29 73 72   \..$(srcroot)sr
0a40: 63 2f 6d 75 74 65 78 2e 63 20 5c 0a 09 24 28 73  c/mutex.c \..$(s
0a50: 72 63 72 6f 6f 74 29 73 72 63 2f 6e 73 74 69 6d  rcroot)src/nstim
0a60: 65 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74  e.c \..$(srcroot
0a70: 29 73 72 63 2f 70 61 67 65 73 2e 63 20 5c 0a 09  )src/pages.c \..
0a80: 24 28 73 72 63 72 6f 6f 74 29 73 72 63 2f 70 72  $(srcroot)src/pr
0a90: 6e 67 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f  ng.c \..$(srcroo
0aa0: 74 29 73 72 63 2f 70 72 6f 66 2e 63 20 5c 0a 09  t)src/prof.c \..
0ab0: 24 28 73 72 63 72 6f 6f 74 29 73 72 63 2f 71 75  $(srcroot)src/qu
0ac0: 61 72 61 6e 74 69 6e 65 2e 63 20 5c 0a 09 24 28  arantine.c \..$(
0ad0: 73 72 63 72 6f 6f 74 29 73 72 63 2f 72 74 72 65  srcroot)src/rtre
0ae0: 65 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74  e.c \..$(srcroot
0af0: 29 73 72 63 2f 73 74 61 74 73 2e 63 20 5c 0a 09  )src/stats.c \..
0b00: 24 28 73 72 63 72 6f 6f 74 29 73 72 63 2f 73 70  $(srcroot)src/sp
0b10: 69 6e 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f  in.c \..$(srcroo
0b20: 74 29 73 72 63 2f 74 63 61 63 68 65 2e 63 20 5c  t)src/tcache.c \
0b30: 0a 09 24 28 73 72 63 72 6f 6f 74 29 73 72 63 2f  ..$(srcroot)src/
0b40: 74 69 63 6b 65 72 2e 63 20 5c 0a 09 24 28 73 72  ticker.c \..$(sr
0b50: 63 72 6f 6f 74 29 73 72 63 2f 74 73 64 2e 63 20  croot)src/tsd.c 
0b60: 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29 73 72 63  \..$(srcroot)src
0b70: 2f 75 74 69 6c 2e 63 20 5c 0a 09 24 28 73 72 63  /util.c \..$(src
0b80: 72 6f 6f 74 29 73 72 63 2f 77 69 74 6e 65 73 73  root)src/witness
0b90: 2e 63 0a 69 66 65 71 20 28 24 28 65 6e 61 62 6c  .c.ifeq ($(enabl
0ba0: 65 5f 76 61 6c 67 72 69 6e 64 29 2c 20 31 29 0a  e_valgrind), 1).
0bb0: 43 5f 53 52 43 53 20 2b 3d 20 24 28 73 72 63 72  C_SRCS += $(srcr
0bc0: 6f 6f 74 29 73 72 63 2f 76 61 6c 67 72 69 6e 64  oot)src/valgrind
0bd0: 2e 63 0a 65 6e 64 69 66 0a 69 66 65 71 20 28 24  .c.endif.ifeq ($
0be0: 28 65 6e 61 62 6c 65 5f 7a 6f 6e 65 5f 61 6c 6c  (enable_zone_all
0bf0: 6f 63 61 74 6f 72 29 2c 20 31 29 0a 43 5f 53 52  ocator), 1).C_SR
0c00: 43 53 20 2b 3d 20 24 28 73 72 63 72 6f 6f 74 29  CS += $(srcroot)
0c10: 73 72 63 2f 7a 6f 6e 65 2e 63 0a 65 6e 64 69 66  src/zone.c.endif
0c20: 0a 69 66 65 71 20 28 24 28 49 4d 50 4f 52 54 4c  .ifeq ($(IMPORTL
0c30: 49 42 29 2c 24 28 53 4f 29 29 0a 53 54 41 54 49  IB),$(SO)).STATI
0c40: 43 5f 4c 49 42 53 20 3a 3d 20 24 28 6f 62 6a 72  C_LIBS := $(objr
0c50: 6f 6f 74 29 6c 69 62 2f 24 28 4c 49 42 4a 45 4d  oot)lib/$(LIBJEM
0c60: 41 4c 4c 4f 43 29 2e 24 28 41 29 0a 65 6e 64 69  ALLOC).$(A).endi
0c70: 66 0a 69 66 64 65 66 20 50 49 43 5f 43 46 4c 41  f.ifdef PIC_CFLA
0c80: 47 53 0a 53 54 41 54 49 43 5f 4c 49 42 53 20 2b  GS.STATIC_LIBS +
0c90: 3d 20 24 28 6f 62 6a 72 6f 6f 74 29 6c 69 62 2f  = $(objroot)lib/
0ca0: 24 28 4c 49 42 4a 45 4d 41 4c 4c 4f 43 29 5f 70  $(LIBJEMALLOC)_p
0cb0: 69 63 2e 24 28 41 29 0a 65 6c 73 65 0a 53 54 41  ic.$(A).else.STA
0cc0: 54 49 43 5f 4c 49 42 53 20 2b 3d 20 24 28 6f 62  TIC_LIBS += $(ob
0cd0: 6a 72 6f 6f 74 29 6c 69 62 2f 24 28 4c 49 42 4a  jroot)lib/$(LIBJ
0ce0: 45 4d 41 4c 4c 4f 43 29 5f 73 2e 24 28 41 29 0a  EMALLOC)_s.$(A).
0cf0: 65 6e 64 69 66 0a 44 53 4f 53 20 3a 3d 20 24 28  endif.DSOS := $(
0d00: 6f 62 6a 72 6f 6f 74 29 6c 69 62 2f 24 28 4c 49  objroot)lib/$(LI
0d10: 42 4a 45 4d 41 4c 4c 4f 43 29 2e 24 28 53 4f 52  BJEMALLOC).$(SOR
0d20: 45 56 29 0a 69 66 6e 65 71 20 28 24 28 53 4f 52  EV).ifneq ($(SOR
0d30: 45 56 29 2c 24 28 53 4f 29 29 0a 44 53 4f 53 20  EV),$(SO)).DSOS 
0d40: 2b 3d 20 24 28 6f 62 6a 72 6f 6f 74 29 6c 69 62  += $(objroot)lib
0d50: 2f 24 28 4c 49 42 4a 45 4d 41 4c 4c 4f 43 29 2e  /$(LIBJEMALLOC).
0d60: 24 28 53 4f 29 0a 65 6e 64 69 66 0a 69 66 65 71  $(SO).endif.ifeq
0d70: 20 28 31 2c 20 24 28 6c 69 6e 6b 5f 77 68 6f 6c   (1, $(link_whol
0d80: 65 5f 61 72 63 68 69 76 65 29 29 0a 4c 4a 45 4d  e_archive)).LJEM
0d90: 41 4c 4c 4f 43 20 3a 3d 20 2d 57 6c 2c 2d 2d 77  ALLOC := -Wl,--w
0da0: 68 6f 6c 65 2d 61 72 63 68 69 76 65 20 2d 4c 24  hole-archive -L$
0db0: 28 6f 62 6a 72 6f 6f 74 29 6c 69 62 20 2d 6c 24  (objroot)lib -l$
0dc0: 28 4c 49 42 4a 45 4d 41 4c 4c 4f 43 29 20 2d 57  (LIBJEMALLOC) -W
0dd0: 6c 2c 2d 2d 6e 6f 2d 77 68 6f 6c 65 2d 61 72 63  l,--no-whole-arc
0de0: 68 69 76 65 0a 65 6c 73 65 0a 4c 4a 45 4d 41 4c  hive.else.LJEMAL
0df0: 4c 4f 43 20 3a 3d 20 24 28 6f 62 6a 72 6f 6f 74  LOC := $(objroot
0e00: 29 6c 69 62 2f 24 28 4c 49 42 4a 45 4d 41 4c 4c  )lib/$(LIBJEMALL
0e10: 4f 43 29 2e 24 28 49 4d 50 4f 52 54 4c 49 42 29  OC).$(IMPORTLIB)
0e20: 0a 65 6e 64 69 66 0a 50 43 20 3a 3d 20 24 28 6f  .endif.PC := $(o
0e30: 62 6a 72 6f 6f 74 29 6a 65 6d 61 6c 6c 6f 63 2e  bjroot)jemalloc.
0e40: 70 63 0a 4d 41 4e 33 20 3a 3d 20 24 28 6f 62 6a  pc.MAN3 := $(obj
0e50: 72 6f 6f 74 29 64 6f 63 2f 6a 65 6d 61 6c 6c 6f  root)doc/jemallo
0e60: 63 24 28 69 6e 73 74 61 6c 6c 5f 73 75 66 66 69  c$(install_suffi
0e70: 78 29 2e 33 0a 44 4f 43 53 5f 58 4d 4c 20 3a 3d  x).3.DOCS_XML :=
0e80: 20 24 28 6f 62 6a 72 6f 6f 74 29 64 6f 63 2f 6a   $(objroot)doc/j
0e90: 65 6d 61 6c 6c 6f 63 24 28 69 6e 73 74 61 6c 6c  emalloc$(install
0ea0: 5f 73 75 66 66 69 78 29 2e 78 6d 6c 0a 44 4f 43  _suffix).xml.DOC
0eb0: 53 5f 48 54 4d 4c 20 3a 3d 20 24 28 44 4f 43 53  S_HTML := $(DOCS
0ec0: 5f 58 4d 4c 3a 24 28 6f 62 6a 72 6f 6f 74 29 25  _XML:$(objroot)%
0ed0: 2e 78 6d 6c 3d 24 28 6f 62 6a 72 6f 6f 74 29 25  .xml=$(objroot)%
0ee0: 2e 68 74 6d 6c 29 0a 44 4f 43 53 5f 4d 41 4e 33  .html).DOCS_MAN3
0ef0: 20 3a 3d 20 24 28 44 4f 43 53 5f 58 4d 4c 3a 24   := $(DOCS_XML:$
0f00: 28 6f 62 6a 72 6f 6f 74 29 25 2e 78 6d 6c 3d 24  (objroot)%.xml=$
0f10: 28 6f 62 6a 72 6f 6f 74 29 25 2e 33 29 0a 44 4f  (objroot)%.3).DO
0f20: 43 53 20 3a 3d 20 24 28 44 4f 43 53 5f 48 54 4d  CS := $(DOCS_HTM
0f30: 4c 29 20 24 28 44 4f 43 53 5f 4d 41 4e 33 29 0a  L) $(DOCS_MAN3).
0f40: 43 5f 54 45 53 54 4c 49 42 5f 53 52 43 53 20 3a  C_TESTLIB_SRCS :
0f50: 3d 20 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74  = $(srcroot)test
0f60: 2f 73 72 63 2f 62 74 61 6c 6c 6f 63 2e 63 20 24  /src/btalloc.c $
0f70: 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f 73 72  (srcroot)test/sr
0f80: 63 2f 62 74 61 6c 6c 6f 63 5f 30 2e 63 20 5c 0a  c/btalloc_0.c \.
0f90: 09 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f  .$(srcroot)test/
0fa0: 73 72 63 2f 62 74 61 6c 6c 6f 63 5f 31 2e 63 20  src/btalloc_1.c 
0fb0: 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f 73  $(srcroot)test/s
0fc0: 72 63 2f 6d 61 74 68 2e 63 20 5c 0a 09 24 28 73  rc/math.c \..$(s
0fd0: 72 63 72 6f 6f 74 29 74 65 73 74 2f 73 72 63 2f  rcroot)test/src/
0fe0: 6d 74 78 2e 63 20 24 28 73 72 63 72 6f 6f 74 29  mtx.c $(srcroot)
0ff0: 74 65 73 74 2f 73 72 63 2f 6d 71 2e 63 20 5c 0a  test/src/mq.c \.
1000: 09 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f  .$(srcroot)test/
1010: 73 72 63 2f 53 46 4d 54 2e 63 20 24 28 73 72 63  src/SFMT.c $(src
1020: 72 6f 6f 74 29 74 65 73 74 2f 73 72 63 2f 74 65  root)test/src/te
1030: 73 74 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f  st.c \..$(srcroo
1040: 74 29 74 65 73 74 2f 73 72 63 2f 74 68 64 2e 63  t)test/src/thd.c
1050: 20 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f   $(srcroot)test/
1060: 73 72 63 2f 74 69 6d 65 72 2e 63 0a 69 66 65 71  src/timer.c.ifeq
1070: 20 28 31 2c 20 24 28 6c 69 6e 6b 5f 77 68 6f 6c   (1, $(link_whol
1080: 65 5f 61 72 63 68 69 76 65 29 29 0a 43 5f 55 54  e_archive)).C_UT
1090: 49 4c 5f 49 4e 54 45 47 52 41 54 49 4f 4e 5f 53  IL_INTEGRATION_S
10a0: 52 43 53 20 3a 3d 0a 65 6c 73 65 0a 43 5f 55 54  RCS :=.else.C_UT
10b0: 49 4c 5f 49 4e 54 45 47 52 41 54 49 4f 4e 5f 53  IL_INTEGRATION_S
10c0: 52 43 53 20 3a 3d 20 24 28 73 72 63 72 6f 6f 74  RCS := $(srcroot
10d0: 29 73 72 63 2f 6e 73 74 69 6d 65 2e 63 20 24 28  )src/nstime.c $(
10e0: 73 72 63 72 6f 6f 74 29 73 72 63 2f 75 74 69 6c  srcroot)src/util
10f0: 2e 63 0a 65 6e 64 69 66 0a 54 45 53 54 53 5f 55  .c.endif.TESTS_U
1100: 4e 49 54 20 3a 3d 20 5c 0a 09 24 28 73 72 63 72  NIT := \..$(srcr
1110: 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 61 30  oot)test/unit/a0
1120: 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29  .c \..$(srcroot)
1130: 74 65 73 74 2f 75 6e 69 74 2f 61 72 65 6e 61 5f  test/unit/arena_
1140: 72 65 73 65 74 2e 63 20 5c 0a 09 24 28 73 72 63  reset.c \..$(src
1150: 72 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 61  root)test/unit/a
1160: 74 6f 6d 69 63 2e 63 20 5c 0a 09 24 28 73 72 63  tomic.c \..$(src
1170: 72 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 62  root)test/unit/b
1180: 69 74 6d 61 70 2e 63 20 5c 0a 09 24 28 73 72 63  itmap.c \..$(src
1190: 72 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 63  root)test/unit/c
11a0: 6b 68 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f  kh.c \..$(srcroo
11b0: 74 29 74 65 73 74 2f 75 6e 69 74 2f 64 65 63 61  t)test/unit/deca
11c0: 79 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74  y.c \..$(srcroot
11d0: 29 74 65 73 74 2f 75 6e 69 74 2f 65 78 74 65 6e  )test/unit/exten
11e0: 74 5f 71 75 61 6e 74 69 7a 65 2e 63 20 5c 0a 09  t_quantize.c \..
11f0: 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f 75  $(srcroot)test/u
1200: 6e 69 74 2f 66 6f 72 6b 2e 63 20 5c 0a 09 24 28  nit/fork.c \..$(
1210: 73 72 63 72 6f 6f 74 29 74 65 73 74 2f 75 6e 69  srcroot)test/uni
1220: 74 2f 68 61 73 68 2e 63 20 5c 0a 09 24 28 73 72  t/hash.c \..$(sr
1230: 63 72 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f  croot)test/unit/
1240: 6a 75 6e 6b 2e 63 20 5c 0a 09 24 28 73 72 63 72  junk.c \..$(srcr
1250: 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 6a 75  oot)test/unit/ju
1260: 6e 6b 5f 61 6c 6c 6f 63 2e 63 20 5c 0a 09 24 28  nk_alloc.c \..$(
1270: 73 72 63 72 6f 6f 74 29 74 65 73 74 2f 75 6e 69  srcroot)test/uni
1280: 74 2f 6a 75 6e 6b 5f 66 72 65 65 2e 63 20 5c 0a  t/junk_free.c \.
1290: 09 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f  .$(srcroot)test/
12a0: 75 6e 69 74 2f 6c 67 5f 63 68 75 6e 6b 2e 63 20  unit/lg_chunk.c 
12b0: 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29 74 65 73  \..$(srcroot)tes
12c0: 74 2f 75 6e 69 74 2f 6d 61 6c 6c 63 74 6c 2e 63  t/unit/mallctl.c
12d0: 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29 74 65   \..$(srcroot)te
12e0: 73 74 2f 75 6e 69 74 2f 6d 61 74 68 2e 63 20 5c  st/unit/math.c \
12f0: 0a 09 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74  ..$(srcroot)test
1300: 2f 75 6e 69 74 2f 6d 71 2e 63 20 5c 0a 09 24 28  /unit/mq.c \..$(
1310: 73 72 63 72 6f 6f 74 29 74 65 73 74 2f 75 6e 69  srcroot)test/uni
1320: 74 2f 6d 74 78 2e 63 20 5c 0a 09 24 28 73 72 63  t/mtx.c \..$(src
1330: 72 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 70  root)test/unit/p
1340: 61 63 6b 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f  ack.c \..$(srcro
1350: 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 70 61 67  ot)test/unit/pag
1360: 65 73 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f  es.c \..$(srcroo
1370: 74 29 74 65 73 74 2f 75 6e 69 74 2f 70 68 2e 63  t)test/unit/ph.c
1380: 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29 74 65   \..$(srcroot)te
1390: 73 74 2f 75 6e 69 74 2f 70 72 6e 67 2e 63 20 5c  st/unit/prng.c \
13a0: 0a 09 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74  ..$(srcroot)test
13b0: 2f 75 6e 69 74 2f 70 72 6f 66 5f 61 63 63 75 6d  /unit/prof_accum
13c0: 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29  .c \..$(srcroot)
13d0: 74 65 73 74 2f 75 6e 69 74 2f 70 72 6f 66 5f 61  test/unit/prof_a
13e0: 63 74 69 76 65 2e 63 20 5c 0a 09 24 28 73 72 63  ctive.c \..$(src
13f0: 72 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 70  root)test/unit/p
1400: 72 6f 66 5f 67 64 75 6d 70 2e 63 20 5c 0a 09 24  rof_gdump.c \..$
1410: 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f 75 6e  (srcroot)test/un
1420: 69 74 2f 70 72 6f 66 5f 69 64 75 6d 70 2e 63 20  it/prof_idump.c 
1430: 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29 74 65 73  \..$(srcroot)tes
1440: 74 2f 75 6e 69 74 2f 70 72 6f 66 5f 72 65 73 65  t/unit/prof_rese
1450: 74 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74  t.c \..$(srcroot
1460: 29 74 65 73 74 2f 75 6e 69 74 2f 70 72 6f 66 5f  )test/unit/prof_
1470: 74 68 72 65 61 64 5f 6e 61 6d 65 2e 63 20 5c 0a  thread_name.c \.
1480: 09 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f  .$(srcroot)test/
1490: 75 6e 69 74 2f 71 6c 2e 63 20 5c 0a 09 24 28 73  unit/ql.c \..$(s
14a0: 72 63 72 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74  rcroot)test/unit
14b0: 2f 71 72 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f  /qr.c \..$(srcro
14c0: 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 71 75 61  ot)test/unit/qua
14d0: 72 61 6e 74 69 6e 65 2e 63 20 5c 0a 09 24 28 73  rantine.c \..$(s
14e0: 72 63 72 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74  rcroot)test/unit
14f0: 2f 72 62 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f  /rb.c \..$(srcro
1500: 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 72 74 72  ot)test/unit/rtr
1510: 65 65 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f  ee.c \..$(srcroo
1520: 74 29 74 65 73 74 2f 75 6e 69 74 2f 72 75 6e 5f  t)test/unit/run_
1530: 71 75 61 6e 74 69 7a 65 2e 63 20 5c 0a 09 24 28  quantize.c \..$(
1540: 73 72 63 72 6f 6f 74 29 74 65 73 74 2f 75 6e 69  srcroot)test/uni
1550: 74 2f 53 46 4d 54 2e 63 20 5c 0a 09 24 28 73 72  t/SFMT.c \..$(sr
1560: 63 72 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f  croot)test/unit/
1570: 73 69 7a 65 5f 63 6c 61 73 73 65 73 2e 63 20 5c  size_classes.c \
1580: 0a 09 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74  ..$(srcroot)test
1590: 2f 75 6e 69 74 2f 73 6d 6f 6f 74 68 73 74 65 70  /unit/smoothstep
15a0: 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29  .c \..$(srcroot)
15b0: 74 65 73 74 2f 75 6e 69 74 2f 73 74 61 74 73 2e  test/unit/stats.
15c0: 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29 74  c \..$(srcroot)t
15d0: 65 73 74 2f 75 6e 69 74 2f 73 74 61 74 73 5f 70  est/unit/stats_p
15e0: 72 69 6e 74 2e 63 20 5c 0a 09 24 28 73 72 63 72  rint.c \..$(srcr
15f0: 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 74 69  oot)test/unit/ti
1600: 63 6b 65 72 2e 63 20 5c 0a 09 24 28 73 72 63 72  cker.c \..$(srcr
1610: 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 6e 73  oot)test/unit/ns
1620: 74 69 6d 65 2e 63 20 5c 0a 09 24 28 73 72 63 72  time.c \..$(srcr
1630: 6f 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 74 73  oot)test/unit/ts
1640: 64 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74  d.c \..$(srcroot
1650: 29 74 65 73 74 2f 75 6e 69 74 2f 75 74 69 6c 2e  )test/unit/util.
1660: 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29 74  c \..$(srcroot)t
1670: 65 73 74 2f 75 6e 69 74 2f 77 69 74 6e 65 73 73  est/unit/witness
1680: 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29  .c \..$(srcroot)
1690: 74 65 73 74 2f 75 6e 69 74 2f 7a 65 72 6f 2e 63  test/unit/zero.c
16a0: 0a 54 45 53 54 53 5f 49 4e 54 45 47 52 41 54 49  .TESTS_INTEGRATI
16b0: 4f 4e 20 3a 3d 20 24 28 73 72 63 72 6f 6f 74 29  ON := $(srcroot)
16c0: 74 65 73 74 2f 69 6e 74 65 67 72 61 74 69 6f 6e  test/integration
16d0: 2f 61 6c 69 67 6e 65 64 5f 61 6c 6c 6f 63 2e 63  /aligned_alloc.c
16e0: 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29 74 65   \..$(srcroot)te
16f0: 73 74 2f 69 6e 74 65 67 72 61 74 69 6f 6e 2f 61  st/integration/a
1700: 6c 6c 6f 63 61 74 65 64 2e 63 20 5c 0a 09 24 28  llocated.c \..$(
1710: 73 72 63 72 6f 6f 74 29 74 65 73 74 2f 69 6e 74  srcroot)test/int
1720: 65 67 72 61 74 69 6f 6e 2f 73 64 61 6c 6c 6f 63  egration/sdalloc
1730: 78 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74  x.c \..$(srcroot
1740: 29 74 65 73 74 2f 69 6e 74 65 67 72 61 74 69 6f  )test/integratio
1750: 6e 2f 6d 61 6c 6c 6f 63 78 2e 63 20 5c 0a 09 24  n/mallocx.c \..$
1760: 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f 69 6e  (srcroot)test/in
1770: 74 65 67 72 61 74 69 6f 6e 2f 4d 41 4c 4c 4f 43  tegration/MALLOC
1780: 58 5f 41 52 45 4e 41 2e 63 20 5c 0a 09 24 28 73  X_ARENA.c \..$(s
1790: 72 63 72 6f 6f 74 29 74 65 73 74 2f 69 6e 74 65  rcroot)test/inte
17a0: 67 72 61 74 69 6f 6e 2f 6f 76 65 72 66 6c 6f 77  gration/overflow
17b0: 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29  .c \..$(srcroot)
17c0: 74 65 73 74 2f 69 6e 74 65 67 72 61 74 69 6f 6e  test/integration
17d0: 2f 70 6f 73 69 78 5f 6d 65 6d 61 6c 69 67 6e 2e  /posix_memalign.
17e0: 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f 74 29 74  c \..$(srcroot)t
17f0: 65 73 74 2f 69 6e 74 65 67 72 61 74 69 6f 6e 2f  est/integration/
1800: 72 61 6c 6c 6f 63 78 2e 63 20 5c 0a 09 24 28 73  rallocx.c \..$(s
1810: 72 63 72 6f 6f 74 29 74 65 73 74 2f 69 6e 74 65  rcroot)test/inte
1820: 67 72 61 74 69 6f 6e 2f 74 68 72 65 61 64 5f 61  gration/thread_a
1830: 72 65 6e 61 2e 63 20 5c 0a 09 24 28 73 72 63 72  rena.c \..$(srcr
1840: 6f 6f 74 29 74 65 73 74 2f 69 6e 74 65 67 72 61  oot)test/integra
1850: 74 69 6f 6e 2f 74 68 72 65 61 64 5f 74 63 61 63  tion/thread_tcac
1860: 68 65 5f 65 6e 61 62 6c 65 64 2e 63 20 5c 0a 09  he_enabled.c \..
1870: 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f 69  $(srcroot)test/i
1880: 6e 74 65 67 72 61 74 69 6f 6e 2f 78 61 6c 6c 6f  ntegration/xallo
1890: 63 78 2e 63 20 5c 0a 09 24 28 73 72 63 72 6f 6f  cx.c \..$(srcroo
18a0: 74 29 74 65 73 74 2f 69 6e 74 65 67 72 61 74 69  t)test/integrati
18b0: 6f 6e 2f 63 68 75 6e 6b 2e 63 0a 54 45 53 54 53  on/chunk.c.TESTS
18c0: 5f 53 54 52 45 53 53 20 3a 3d 20 24 28 73 72 63  _STRESS := $(src
18d0: 72 6f 6f 74 29 74 65 73 74 2f 73 74 72 65 73 73  root)test/stress
18e0: 2f 6d 69 63 72 6f 62 65 6e 63 68 2e 63 0a 54 45  /microbench.c.TE
18f0: 53 54 53 20 3a 3d 20 24 28 54 45 53 54 53 5f 55  STS := $(TESTS_U
1900: 4e 49 54 29 20 24 28 54 45 53 54 53 5f 49 4e 54  NIT) $(TESTS_INT
1910: 45 47 52 41 54 49 4f 4e 29 20 24 28 54 45 53 54  EGRATION) $(TEST
1920: 53 5f 53 54 52 45 53 53 29 0a 0a 43 5f 4f 42 4a  S_STRESS)..C_OBJ
1930: 53 20 3a 3d 20 24 28 43 5f 53 52 43 53 3a 24 28  S := $(C_SRCS:$(
1940: 73 72 63 72 6f 6f 74 29 25 2e 63 3d 24 28 6f 62  srcroot)%.c=$(ob
1950: 6a 72 6f 6f 74 29 25 2e 24 28 4f 29 29 0a 43 5f  jroot)%.$(O)).C_
1960: 50 49 43 5f 4f 42 4a 53 20 3a 3d 20 24 28 43 5f  PIC_OBJS := $(C_
1970: 53 52 43 53 3a 24 28 73 72 63 72 6f 6f 74 29 25  SRCS:$(srcroot)%
1980: 2e 63 3d 24 28 6f 62 6a 72 6f 6f 74 29 25 2e 70  .c=$(objroot)%.p
1990: 69 63 2e 24 28 4f 29 29 0a 43 5f 4a 45 54 5f 4f  ic.$(O)).C_JET_O
19a0: 42 4a 53 20 3a 3d 20 24 28 43 5f 53 52 43 53 3a  BJS := $(C_SRCS:
19b0: 24 28 73 72 63 72 6f 6f 74 29 25 2e 63 3d 24 28  $(srcroot)%.c=$(
19c0: 6f 62 6a 72 6f 6f 74 29 25 2e 6a 65 74 2e 24 28  objroot)%.jet.$(
19d0: 4f 29 29 0a 43 5f 54 45 53 54 4c 49 42 5f 55 4e  O)).C_TESTLIB_UN
19e0: 49 54 5f 4f 42 4a 53 20 3a 3d 20 24 28 43 5f 54  IT_OBJS := $(C_T
19f0: 45 53 54 4c 49 42 5f 53 52 43 53 3a 24 28 73 72  ESTLIB_SRCS:$(sr
1a00: 63 72 6f 6f 74 29 25 2e 63 3d 24 28 6f 62 6a 72  croot)%.c=$(objr
1a10: 6f 6f 74 29 25 2e 75 6e 69 74 2e 24 28 4f 29 29  oot)%.unit.$(O))
1a20: 0a 43 5f 54 45 53 54 4c 49 42 5f 49 4e 54 45 47  .C_TESTLIB_INTEG
1a30: 52 41 54 49 4f 4e 5f 4f 42 4a 53 20 3a 3d 20 24  RATION_OBJS := $
1a40: 28 43 5f 54 45 53 54 4c 49 42 5f 53 52 43 53 3a  (C_TESTLIB_SRCS:
1a50: 24 28 73 72 63 72 6f 6f 74 29 25 2e 63 3d 24 28  $(srcroot)%.c=$(
1a60: 6f 62 6a 72 6f 6f 74 29 25 2e 69 6e 74 65 67 72  objroot)%.integr
1a70: 61 74 69 6f 6e 2e 24 28 4f 29 29 0a 43 5f 55 54  ation.$(O)).C_UT
1a80: 49 4c 5f 49 4e 54 45 47 52 41 54 49 4f 4e 5f 4f  IL_INTEGRATION_O
1a90: 42 4a 53 20 3a 3d 20 24 28 43 5f 55 54 49 4c 5f  BJS := $(C_UTIL_
1aa0: 49 4e 54 45 47 52 41 54 49 4f 4e 5f 53 52 43 53  INTEGRATION_SRCS
1ab0: 3a 24 28 73 72 63 72 6f 6f 74 29 25 2e 63 3d 24  :$(srcroot)%.c=$
1ac0: 28 6f 62 6a 72 6f 6f 74 29 25 2e 69 6e 74 65 67  (objroot)%.integ
1ad0: 72 61 74 69 6f 6e 2e 24 28 4f 29 29 0a 43 5f 54  ration.$(O)).C_T
1ae0: 45 53 54 4c 49 42 5f 53 54 52 45 53 53 5f 4f 42  ESTLIB_STRESS_OB
1af0: 4a 53 20 3a 3d 20 24 28 43 5f 54 45 53 54 4c 49  JS := $(C_TESTLI
1b00: 42 5f 53 52 43 53 3a 24 28 73 72 63 72 6f 6f 74  B_SRCS:$(srcroot
1b10: 29 25 2e 63 3d 24 28 6f 62 6a 72 6f 6f 74 29 25  )%.c=$(objroot)%
1b20: 2e 73 74 72 65 73 73 2e 24 28 4f 29 29 0a 43 5f  .stress.$(O)).C_
1b30: 54 45 53 54 4c 49 42 5f 4f 42 4a 53 20 3a 3d 20  TESTLIB_OBJS := 
1b40: 24 28 43 5f 54 45 53 54 4c 49 42 5f 55 4e 49 54  $(C_TESTLIB_UNIT
1b50: 5f 4f 42 4a 53 29 20 24 28 43 5f 54 45 53 54 4c  _OBJS) $(C_TESTL
1b60: 49 42 5f 49 4e 54 45 47 52 41 54 49 4f 4e 5f 4f  IB_INTEGRATION_O
1b70: 42 4a 53 29 20 24 28 43 5f 55 54 49 4c 5f 49 4e  BJS) $(C_UTIL_IN
1b80: 54 45 47 52 41 54 49 4f 4e 5f 4f 42 4a 53 29 20  TEGRATION_OBJS) 
1b90: 24 28 43 5f 54 45 53 54 4c 49 42 5f 53 54 52 45  $(C_TESTLIB_STRE
1ba0: 53 53 5f 4f 42 4a 53 29 0a 0a 54 45 53 54 53 5f  SS_OBJS)..TESTS_
1bb0: 55 4e 49 54 5f 4f 42 4a 53 20 3a 3d 20 24 28 54  UNIT_OBJS := $(T
1bc0: 45 53 54 53 5f 55 4e 49 54 3a 24 28 73 72 63 72  ESTS_UNIT:$(srcr
1bd0: 6f 6f 74 29 25 2e 63 3d 24 28 6f 62 6a 72 6f 6f  oot)%.c=$(objroo
1be0: 74 29 25 2e 24 28 4f 29 29 0a 54 45 53 54 53 5f  t)%.$(O)).TESTS_
1bf0: 49 4e 54 45 47 52 41 54 49 4f 4e 5f 4f 42 4a 53  INTEGRATION_OBJS
1c00: 20 3a 3d 20 24 28 54 45 53 54 53 5f 49 4e 54 45   := $(TESTS_INTE
1c10: 47 52 41 54 49 4f 4e 3a 24 28 73 72 63 72 6f 6f  GRATION:$(srcroo
1c20: 74 29 25 2e 63 3d 24 28 6f 62 6a 72 6f 6f 74 29  t)%.c=$(objroot)
1c30: 25 2e 24 28 4f 29 29 0a 54 45 53 54 53 5f 53 54  %.$(O)).TESTS_ST
1c40: 52 45 53 53 5f 4f 42 4a 53 20 3a 3d 20 24 28 54  RESS_OBJS := $(T
1c50: 45 53 54 53 5f 53 54 52 45 53 53 3a 24 28 73 72  ESTS_STRESS:$(sr
1c60: 63 72 6f 6f 74 29 25 2e 63 3d 24 28 6f 62 6a 72  croot)%.c=$(objr
1c70: 6f 6f 74 29 25 2e 24 28 4f 29 29 0a 54 45 53 54  oot)%.$(O)).TEST
1c80: 53 5f 4f 42 4a 53 20 3a 3d 20 24 28 54 45 53 54  S_OBJS := $(TEST
1c90: 53 5f 55 4e 49 54 5f 4f 42 4a 53 29 20 24 28 54  S_UNIT_OBJS) $(T
1ca0: 45 53 54 53 5f 49 4e 54 45 47 52 41 54 49 4f 4e  ESTS_INTEGRATION
1cb0: 5f 4f 42 4a 53 29 20 24 28 54 45 53 54 53 5f 53  _OBJS) $(TESTS_S
1cc0: 54 52 45 53 53 5f 4f 42 4a 53 29 0a 0a 2e 50 48  TRESS_OBJS)...PH
1cd0: 4f 4e 59 3a 20 61 6c 6c 20 64 69 73 74 20 62 75  ONY: all dist bu
1ce0: 69 6c 64 5f 64 6f 63 5f 68 74 6d 6c 20 62 75 69  ild_doc_html bui
1cf0: 6c 64 5f 64 6f 63 5f 6d 61 6e 20 62 75 69 6c 64  ld_doc_man build
1d00: 5f 64 6f 63 0a 2e 50 48 4f 4e 59 3a 20 69 6e 73  _doc..PHONY: ins
1d10: 74 61 6c 6c 5f 62 69 6e 20 69 6e 73 74 61 6c 6c  tall_bin install
1d20: 5f 69 6e 63 6c 75 64 65 20 69 6e 73 74 61 6c 6c  _include install
1d30: 5f 6c 69 62 0a 2e 50 48 4f 4e 59 3a 20 69 6e 73  _lib..PHONY: ins
1d40: 74 61 6c 6c 5f 64 6f 63 5f 68 74 6d 6c 20 69 6e  tall_doc_html in
1d50: 73 74 61 6c 6c 5f 64 6f 63 5f 6d 61 6e 20 69 6e  stall_doc_man in
1d60: 73 74 61 6c 6c 5f 64 6f 63 20 69 6e 73 74 61 6c  stall_doc instal
1d70: 6c 0a 2e 50 48 4f 4e 59 3a 20 74 65 73 74 73 20  l..PHONY: tests 
1d80: 63 68 65 63 6b 20 63 6c 65 61 6e 20 64 69 73 74  check clean dist
1d90: 63 6c 65 61 6e 20 72 65 6c 63 6c 65 61 6e 0a 0a  clean relclean..
1da0: 2e 53 45 43 4f 4e 44 41 52 59 20 3a 20 24 28 54  .SECONDARY : $(T
1db0: 45 53 54 53 5f 4f 42 4a 53 29 0a 0a 23 20 44 65  ESTS_OBJS)..# De
1dc0: 66 61 75 6c 74 20 74 61 72 67 65 74 2e 0a 61 6c  fault target..al
1dd0: 6c 3a 20 62 75 69 6c 64 5f 6c 69 62 0a 0a 64 69  l: build_lib..di
1de0: 73 74 3a 20 62 75 69 6c 64 5f 64 6f 63 0a 0a 24  st: build_doc..$
1df0: 28 6f 62 6a 72 6f 6f 74 29 64 6f 63 2f 25 2e 68  (objroot)doc/%.h
1e00: 74 6d 6c 20 3a 20 24 28 6f 62 6a 72 6f 6f 74 29  tml : $(objroot)
1e10: 64 6f 63 2f 25 2e 78 6d 6c 20 24 28 73 72 63 72  doc/%.xml $(srcr
1e20: 6f 6f 74 29 64 6f 63 2f 73 74 79 6c 65 73 68 65  oot)doc/styleshe
1e30: 65 74 2e 78 73 6c 20 24 28 6f 62 6a 72 6f 6f 74  et.xsl $(objroot
1e40: 29 64 6f 63 2f 68 74 6d 6c 2e 78 73 6c 0a 09 24  )doc/html.xsl..$
1e50: 28 58 53 4c 54 50 52 4f 43 29 20 2d 6f 20 24 40  (XSLTPROC) -o $@
1e60: 20 24 28 6f 62 6a 72 6f 6f 74 29 64 6f 63 2f 68   $(objroot)doc/h
1e70: 74 6d 6c 2e 78 73 6c 20 24 3c 0a 0a 24 28 6f 62  tml.xsl $<..$(ob
1e80: 6a 72 6f 6f 74 29 64 6f 63 2f 25 2e 33 20 3a 20  jroot)doc/%.3 : 
1e90: 24 28 6f 62 6a 72 6f 6f 74 29 64 6f 63 2f 25 2e  $(objroot)doc/%.
1ea0: 78 6d 6c 20 24 28 73 72 63 72 6f 6f 74 29 64 6f  xml $(srcroot)do
1eb0: 63 2f 73 74 79 6c 65 73 68 65 65 74 2e 78 73 6c  c/stylesheet.xsl
1ec0: 20 24 28 6f 62 6a 72 6f 6f 74 29 64 6f 63 2f 6d   $(objroot)doc/m
1ed0: 61 6e 70 61 67 65 73 2e 78 73 6c 0a 09 24 28 58  anpages.xsl..$(X
1ee0: 53 4c 54 50 52 4f 43 29 20 2d 6f 20 24 40 20 24  SLTPROC) -o $@ $
1ef0: 28 6f 62 6a 72 6f 6f 74 29 64 6f 63 2f 6d 61 6e  (objroot)doc/man
1f00: 70 61 67 65 73 2e 78 73 6c 20 24 3c 0a 0a 62 75  pages.xsl $<..bu
1f10: 69 6c 64 5f 64 6f 63 5f 68 74 6d 6c 3a 20 24 28  ild_doc_html: $(
1f20: 44 4f 43 53 5f 48 54 4d 4c 29 0a 62 75 69 6c 64  DOCS_HTML).build
1f30: 5f 64 6f 63 5f 6d 61 6e 3a 20 24 28 44 4f 43 53  _doc_man: $(DOCS
1f40: 5f 4d 41 4e 33 29 0a 62 75 69 6c 64 5f 64 6f 63  _MAN3).build_doc
1f50: 3a 20 24 28 44 4f 43 53 29 0a 0a 23 0a 23 20 49  : $(DOCS)..#.# I
1f60: 6e 63 6c 75 64 65 20 67 65 6e 65 72 61 74 65 64  nclude generated
1f70: 20 64 65 70 65 6e 64 65 6e 63 79 20 66 69 6c 65   dependency file
1f80: 73 2e 0a 23 0a 69 66 64 65 66 20 43 43 5f 4d 4d  s..#.ifdef CC_MM
1f90: 0a 2d 69 6e 63 6c 75 64 65 20 24 28 43 5f 4f 42  .-include $(C_OB
1fa0: 4a 53 3a 25 2e 24 28 4f 29 3d 25 2e 64 29 0a 2d  JS:%.$(O)=%.d).-
1fb0: 69 6e 63 6c 75 64 65 20 24 28 43 5f 50 49 43 5f  include $(C_PIC_
1fc0: 4f 42 4a 53 3a 25 2e 24 28 4f 29 3d 25 2e 64 29  OBJS:%.$(O)=%.d)
1fd0: 0a 2d 69 6e 63 6c 75 64 65 20 24 28 43 5f 4a 45  .-include $(C_JE
1fe0: 54 5f 4f 42 4a 53 3a 25 2e 24 28 4f 29 3d 25 2e  T_OBJS:%.$(O)=%.
1ff0: 64 29 0a 2d 69 6e 63 6c 75 64 65 20 24 28 43 5f  d).-include $(C_
2000: 54 45 53 54 4c 49 42 5f 4f 42 4a 53 3a 25 2e 24  TESTLIB_OBJS:%.$
2010: 28 4f 29 3d 25 2e 64 29 0a 2d 69 6e 63 6c 75 64  (O)=%.d).-includ
2020: 65 20 24 28 54 45 53 54 53 5f 4f 42 4a 53 3a 25  e $(TESTS_OBJS:%
2030: 2e 24 28 4f 29 3d 25 2e 64 29 0a 65 6e 64 69 66  .$(O)=%.d).endif
2040: 0a 0a 24 28 43 5f 4f 42 4a 53 29 3a 20 24 28 6f  ..$(C_OBJS): $(o
2050: 62 6a 72 6f 6f 74 29 73 72 63 2f 25 2e 24 28 4f  bjroot)src/%.$(O
2060: 29 3a 20 24 28 73 72 63 72 6f 6f 74 29 73 72 63  ): $(srcroot)src
2070: 2f 25 2e 63 0a 24 28 43 5f 50 49 43 5f 4f 42 4a  /%.c.$(C_PIC_OBJ
2080: 53 29 3a 20 24 28 6f 62 6a 72 6f 6f 74 29 73 72  S): $(objroot)sr
2090: 63 2f 25 2e 70 69 63 2e 24 28 4f 29 3a 20 24 28  c/%.pic.$(O): $(
20a0: 73 72 63 72 6f 6f 74 29 73 72 63 2f 25 2e 63 0a  srcroot)src/%.c.
20b0: 24 28 43 5f 50 49 43 5f 4f 42 4a 53 29 3a 20 43  $(C_PIC_OBJS): C
20c0: 46 4c 41 47 53 20 2b 3d 20 24 28 50 49 43 5f 43  FLAGS += $(PIC_C
20d0: 46 4c 41 47 53 29 0a 24 28 43 5f 4a 45 54 5f 4f  FLAGS).$(C_JET_O
20e0: 42 4a 53 29 3a 20 24 28 6f 62 6a 72 6f 6f 74 29  BJS): $(objroot)
20f0: 73 72 63 2f 25 2e 6a 65 74 2e 24 28 4f 29 3a 20  src/%.jet.$(O): 
2100: 24 28 73 72 63 72 6f 6f 74 29 73 72 63 2f 25 2e  $(srcroot)src/%.
2110: 63 0a 24 28 43 5f 4a 45 54 5f 4f 42 4a 53 29 3a  c.$(C_JET_OBJS):
2120: 20 43 46 4c 41 47 53 20 2b 3d 20 2d 44 4a 45 4d   CFLAGS += -DJEM
2130: 41 4c 4c 4f 43 5f 4a 45 54 0a 24 28 43 5f 54 45  ALLOC_JET.$(C_TE
2140: 53 54 4c 49 42 5f 55 4e 49 54 5f 4f 42 4a 53 29  STLIB_UNIT_OBJS)
2150: 3a 20 24 28 6f 62 6a 72 6f 6f 74 29 74 65 73 74  : $(objroot)test
2160: 2f 73 72 63 2f 25 2e 75 6e 69 74 2e 24 28 4f 29  /src/%.unit.$(O)
2170: 3a 20 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74  : $(srcroot)test
2180: 2f 73 72 63 2f 25 2e 63 0a 24 28 43 5f 54 45 53  /src/%.c.$(C_TES
2190: 54 4c 49 42 5f 55 4e 49 54 5f 4f 42 4a 53 29 3a  TLIB_UNIT_OBJS):
21a0: 20 43 50 50 46 4c 41 47 53 20 2b 3d 20 2d 44 4a   CPPFLAGS += -DJ
21b0: 45 4d 41 4c 4c 4f 43 5f 55 4e 49 54 5f 54 45 53  EMALLOC_UNIT_TES
21c0: 54 0a 24 28 43 5f 54 45 53 54 4c 49 42 5f 49 4e  T.$(C_TESTLIB_IN
21d0: 54 45 47 52 41 54 49 4f 4e 5f 4f 42 4a 53 29 3a  TEGRATION_OBJS):
21e0: 20 24 28 6f 62 6a 72 6f 6f 74 29 74 65 73 74 2f   $(objroot)test/
21f0: 73 72 63 2f 25 2e 69 6e 74 65 67 72 61 74 69 6f  src/%.integratio
2200: 6e 2e 24 28 4f 29 3a 20 24 28 73 72 63 72 6f 6f  n.$(O): $(srcroo
2210: 74 29 74 65 73 74 2f 73 72 63 2f 25 2e 63 0a 24  t)test/src/%.c.$
2220: 28 43 5f 54 45 53 54 4c 49 42 5f 49 4e 54 45 47  (C_TESTLIB_INTEG
2230: 52 41 54 49 4f 4e 5f 4f 42 4a 53 29 3a 20 43 50  RATION_OBJS): CP
2240: 50 46 4c 41 47 53 20 2b 3d 20 2d 44 4a 45 4d 41  PFLAGS += -DJEMA
2250: 4c 4c 4f 43 5f 49 4e 54 45 47 52 41 54 49 4f 4e  LLOC_INTEGRATION
2260: 5f 54 45 53 54 0a 24 28 43 5f 55 54 49 4c 5f 49  _TEST.$(C_UTIL_I
2270: 4e 54 45 47 52 41 54 49 4f 4e 5f 4f 42 4a 53 29  NTEGRATION_OBJS)
2280: 3a 20 24 28 6f 62 6a 72 6f 6f 74 29 73 72 63 2f  : $(objroot)src/
2290: 25 2e 69 6e 74 65 67 72 61 74 69 6f 6e 2e 24 28  %.integration.$(
22a0: 4f 29 3a 20 24 28 73 72 63 72 6f 6f 74 29 73 72  O): $(srcroot)sr
22b0: 63 2f 25 2e 63 0a 24 28 43 5f 54 45 53 54 4c 49  c/%.c.$(C_TESTLI
22c0: 42 5f 53 54 52 45 53 53 5f 4f 42 4a 53 29 3a 20  B_STRESS_OBJS): 
22d0: 24 28 6f 62 6a 72 6f 6f 74 29 74 65 73 74 2f 73  $(objroot)test/s
22e0: 72 63 2f 25 2e 73 74 72 65 73 73 2e 24 28 4f 29  rc/%.stress.$(O)
22f0: 3a 20 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74  : $(srcroot)test
2300: 2f 73 72 63 2f 25 2e 63 0a 24 28 43 5f 54 45 53  /src/%.c.$(C_TES
2310: 54 4c 49 42 5f 53 54 52 45 53 53 5f 4f 42 4a 53  TLIB_STRESS_OBJS
2320: 29 3a 20 43 50 50 46 4c 41 47 53 20 2b 3d 20 2d  ): CPPFLAGS += -
2330: 44 4a 45 4d 41 4c 4c 4f 43 5f 53 54 52 45 53 53  DJEMALLOC_STRESS
2340: 5f 54 45 53 54 20 2d 44 4a 45 4d 41 4c 4c 4f 43  _TEST -DJEMALLOC
2350: 5f 53 54 52 45 53 53 5f 54 45 53 54 4c 49 42 0a  _STRESS_TESTLIB.
2360: 24 28 43 5f 54 45 53 54 4c 49 42 5f 4f 42 4a 53  $(C_TESTLIB_OBJS
2370: 29 3a 20 43 50 50 46 4c 41 47 53 20 2b 3d 20 2d  ): CPPFLAGS += -
2380: 49 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f  I$(srcroot)test/
2390: 69 6e 63 6c 75 64 65 20 2d 49 24 28 6f 62 6a 72  include -I$(objr
23a0: 6f 6f 74 29 74 65 73 74 2f 69 6e 63 6c 75 64 65  oot)test/include
23b0: 0a 24 28 54 45 53 54 53 5f 55 4e 49 54 5f 4f 42  .$(TESTS_UNIT_OB
23c0: 4a 53 29 3a 20 43 50 50 46 4c 41 47 53 20 2b 3d  JS): CPPFLAGS +=
23d0: 20 2d 44 4a 45 4d 41 4c 4c 4f 43 5f 55 4e 49 54   -DJEMALLOC_UNIT
23e0: 5f 54 45 53 54 0a 24 28 54 45 53 54 53 5f 49 4e  _TEST.$(TESTS_IN
23f0: 54 45 47 52 41 54 49 4f 4e 5f 4f 42 4a 53 29 3a  TEGRATION_OBJS):
2400: 20 43 50 50 46 4c 41 47 53 20 2b 3d 20 2d 44 4a   CPPFLAGS += -DJ
2410: 45 4d 41 4c 4c 4f 43 5f 49 4e 54 45 47 52 41 54  EMALLOC_INTEGRAT
2420: 49 4f 4e 5f 54 45 53 54 0a 24 28 54 45 53 54 53  ION_TEST.$(TESTS
2430: 5f 53 54 52 45 53 53 5f 4f 42 4a 53 29 3a 20 43  _STRESS_OBJS): C
2440: 50 50 46 4c 41 47 53 20 2b 3d 20 2d 44 4a 45 4d  PPFLAGS += -DJEM
2450: 41 4c 4c 4f 43 5f 53 54 52 45 53 53 5f 54 45 53  ALLOC_STRESS_TES
2460: 54 0a 24 28 54 45 53 54 53 5f 4f 42 4a 53 29 3a  T.$(TESTS_OBJS):
2470: 20 24 28 6f 62 6a 72 6f 6f 74 29 74 65 73 74 2f   $(objroot)test/
2480: 25 2e 24 28 4f 29 3a 20 24 28 73 72 63 72 6f 6f  %.$(O): $(srcroo
2490: 74 29 74 65 73 74 2f 25 2e 63 0a 24 28 54 45 53  t)test/%.c.$(TES
24a0: 54 53 5f 4f 42 4a 53 29 3a 20 43 50 50 46 4c 41  TS_OBJS): CPPFLA
24b0: 47 53 20 2b 3d 20 2d 49 24 28 73 72 63 72 6f 6f  GS += -I$(srcroo
24c0: 74 29 74 65 73 74 2f 69 6e 63 6c 75 64 65 20 2d  t)test/include -
24d0: 49 24 28 6f 62 6a 72 6f 6f 74 29 74 65 73 74 2f  I$(objroot)test/
24e0: 69 6e 63 6c 75 64 65 0a 69 66 6e 65 71 20 28 24  include.ifneq ($
24f0: 28 49 4d 50 4f 52 54 4c 49 42 29 2c 24 28 53 4f  (IMPORTLIB),$(SO
2500: 29 29 0a 24 28 43 5f 4f 42 4a 53 29 20 24 28 43  )).$(C_OBJS) $(C
2510: 5f 4a 45 54 5f 4f 42 4a 53 29 3a 20 43 50 50 46  _JET_OBJS): CPPF
2520: 4c 41 47 53 20 2b 3d 20 2d 44 44 4c 4c 45 58 50  LAGS += -DDLLEXP
2530: 4f 52 54 0a 65 6e 64 69 66 0a 0a 69 66 6e 64 65  ORT.endif..ifnde
2540: 66 20 43 43 5f 4d 4d 0a 23 20 44 65 70 65 6e 64  f CC_MM.# Depend
2550: 65 6e 63 69 65 73 2e 0a 48 45 41 44 45 52 5f 44  encies..HEADER_D
2560: 49 52 53 20 3d 20 24 28 73 72 63 72 6f 6f 74 29  IRS = $(srcroot)
2570: 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63  include/jemalloc
2580: 2f 69 6e 74 65 72 6e 61 6c 20 5c 0a 09 24 28 6f  /internal \..$(o
2590: 62 6a 72 6f 6f 74 29 69 6e 63 6c 75 64 65 2f 6a  bjroot)include/j
25a0: 65 6d 61 6c 6c 6f 63 20 24 28 6f 62 6a 72 6f 6f  emalloc $(objroo
25b0: 74 29 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c  t)include/jemall
25c0: 6f 63 2f 69 6e 74 65 72 6e 61 6c 0a 48 45 41 44  oc/internal.HEAD
25d0: 45 52 53 20 3d 20 24 28 77 69 6c 64 63 61 72 64  ERS = $(wildcard
25e0: 20 24 28 66 6f 72 65 61 63 68 20 64 69 72 2c 24   $(foreach dir,$
25f0: 28 48 45 41 44 45 52 5f 44 49 52 53 29 2c 24 28  (HEADER_DIRS),$(
2600: 64 69 72 29 2f 2a 2e 68 29 29 0a 24 28 43 5f 4f  dir)/*.h)).$(C_O
2610: 42 4a 53 29 20 24 28 43 5f 50 49 43 5f 4f 42 4a  BJS) $(C_PIC_OBJ
2620: 53 29 20 24 28 43 5f 4a 45 54 5f 4f 42 4a 53 29  S) $(C_JET_OBJS)
2630: 20 24 28 43 5f 54 45 53 54 4c 49 42 5f 4f 42 4a   $(C_TESTLIB_OBJ
2640: 53 29 20 24 28 54 45 53 54 53 5f 4f 42 4a 53 29  S) $(TESTS_OBJS)
2650: 3a 20 24 28 48 45 41 44 45 52 53 29 0a 24 28 54  : $(HEADERS).$(T
2660: 45 53 54 53 5f 4f 42 4a 53 29 3a 20 24 28 6f 62  ESTS_OBJS): $(ob
2670: 6a 72 6f 6f 74 29 74 65 73 74 2f 69 6e 63 6c 75  jroot)test/inclu
2680: 64 65 2f 74 65 73 74 2f 6a 65 6d 61 6c 6c 6f 63  de/test/jemalloc
2690: 5f 74 65 73 74 2e 68 0a 65 6e 64 69 66 0a 0a 24  _test.h.endif..$
26a0: 28 43 5f 4f 42 4a 53 29 20 24 28 43 5f 50 49 43  (C_OBJS) $(C_PIC
26b0: 5f 4f 42 4a 53 29 20 24 28 43 5f 4a 45 54 5f 4f  _OBJS) $(C_JET_O
26c0: 42 4a 53 29 20 24 28 43 5f 54 45 53 54 4c 49 42  BJS) $(C_TESTLIB
26d0: 5f 4f 42 4a 53 29 20 24 28 54 45 53 54 53 5f 4f  _OBJS) $(TESTS_O
26e0: 42 4a 53 29 3a 20 25 2e 24 28 4f 29 3a 0a 09 40  BJS): %.$(O):..@
26f0: 6d 6b 64 69 72 20 2d 70 20 24 28 40 44 29 0a 09  mkdir -p $(@D)..
2700: 24 28 43 43 29 20 24 28 43 46 4c 41 47 53 29 20  $(CC) $(CFLAGS) 
2710: 2d 63 20 24 28 43 50 50 46 4c 41 47 53 29 20 24  -c $(CPPFLAGS) $
2720: 28 43 54 41 52 47 45 54 29 20 24 3c 0a 69 66 64  (CTARGET) $<.ifd
2730: 65 66 20 43 43 5f 4d 4d 0a 09 40 24 28 43 43 29  ef CC_MM..@$(CC)
2740: 20 2d 4d 4d 20 24 28 43 50 50 46 4c 41 47 53 29   -MM $(CPPFLAGS)
2750: 20 2d 4d 54 20 24 40 20 2d 6f 20 24 28 40 3a 25   -MT $@ -o $(@:%
2760: 2e 24 28 4f 29 3d 25 2e 64 29 20 24 3c 0a 65 6e  .$(O)=%.d) $<.en
2770: 64 69 66 0a 0a 69 66 6e 65 71 20 28 24 28 53 4f  dif..ifneq ($(SO
2780: 52 45 56 29 2c 24 28 53 4f 29 29 0a 25 2e 24 28  REV),$(SO)).%.$(
2790: 53 4f 29 20 3a 20 25 2e 24 28 53 4f 52 45 56 29  SO) : %.$(SOREV)
27a0: 0a 09 40 6d 6b 64 69 72 20 2d 70 20 24 28 40 44  ..@mkdir -p $(@D
27b0: 29 0a 09 6c 6e 20 2d 73 66 20 24 28 3c 46 29 20  )..ln -sf $(<F) 
27c0: 24 40 0a 65 6e 64 69 66 0a 0a 24 28 6f 62 6a 72  $@.endif..$(objr
27d0: 6f 6f 74 29 6c 69 62 2f 24 28 4c 49 42 4a 45 4d  oot)lib/$(LIBJEM
27e0: 41 4c 4c 4f 43 29 2e 24 28 53 4f 52 45 56 29 20  ALLOC).$(SOREV) 
27f0: 3a 20 24 28 69 66 20 24 28 50 49 43 5f 43 46 4c  : $(if $(PIC_CFL
2800: 41 47 53 29 2c 24 28 43 5f 50 49 43 5f 4f 42 4a  AGS),$(C_PIC_OBJ
2810: 53 29 2c 24 28 43 5f 4f 42 4a 53 29 29 0a 09 40  S),$(C_OBJS))..@
2820: 6d 6b 64 69 72 20 2d 70 20 24 28 40 44 29 0a 09  mkdir -p $(@D)..
2830: 24 28 43 43 29 20 24 28 44 53 4f 5f 4c 44 46 4c  $(CC) $(DSO_LDFL
2840: 41 47 53 29 20 24 28 63 61 6c 6c 20 52 50 41 54  AGS) $(call RPAT
2850: 48 2c 24 28 52 50 41 54 48 5f 45 58 54 52 41 29  H,$(RPATH_EXTRA)
2860: 29 20 24 28 4c 44 54 41 52 47 45 54 29 20 24 2b  ) $(LDTARGET) $+
2870: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 49   $(LDFLAGS) $(LI
2880: 42 53 29 20 24 28 45 58 54 52 41 5f 4c 44 46 4c  BS) $(EXTRA_LDFL
2890: 41 47 53 29 0a 0a 24 28 6f 62 6a 72 6f 6f 74 29  AGS)..$(objroot)
28a0: 6c 69 62 2f 24 28 4c 49 42 4a 45 4d 41 4c 4c 4f  lib/$(LIBJEMALLO
28b0: 43 29 5f 70 69 63 2e 24 28 41 29 20 3a 20 24 28  C)_pic.$(A) : $(
28c0: 43 5f 50 49 43 5f 4f 42 4a 53 29 0a 24 28 6f 62  C_PIC_OBJS).$(ob
28d0: 6a 72 6f 6f 74 29 6c 69 62 2f 24 28 4c 49 42 4a  jroot)lib/$(LIBJ
28e0: 45 4d 41 4c 4c 4f 43 29 2e 24 28 41 29 20 3a 20  EMALLOC).$(A) : 
28f0: 24 28 43 5f 4f 42 4a 53 29 0a 24 28 6f 62 6a 72  $(C_OBJS).$(objr
2900: 6f 6f 74 29 6c 69 62 2f 24 28 4c 49 42 4a 45 4d  oot)lib/$(LIBJEM
2910: 41 4c 4c 4f 43 29 5f 73 2e 24 28 41 29 20 3a 20  ALLOC)_s.$(A) : 
2920: 24 28 43 5f 4f 42 4a 53 29 0a 0a 24 28 53 54 41  $(C_OBJS)..$(STA
2930: 54 49 43 5f 4c 49 42 53 29 3a 0a 09 40 6d 6b 64  TIC_LIBS):..@mkd
2940: 69 72 20 2d 70 20 24 28 40 44 29 0a 09 24 28 41  ir -p $(@D)..$(A
2950: 52 29 20 24 28 41 52 46 4c 41 47 53 29 40 41 52  R) $(ARFLAGS)@AR
2960: 4f 55 54 40 20 24 2b 0a 0a 24 28 6f 62 6a 72 6f  OUT@ $+..$(objro
2970: 6f 74 29 74 65 73 74 2f 75 6e 69 74 2f 25 24 28  ot)test/unit/%$(
2980: 45 58 45 29 3a 20 24 28 6f 62 6a 72 6f 6f 74 29  EXE): $(objroot)
2990: 74 65 73 74 2f 75 6e 69 74 2f 25 2e 24 28 4f 29  test/unit/%.$(O)
29a0: 20 24 28 54 45 53 54 53 5f 55 4e 49 54 5f 4c 49   $(TESTS_UNIT_LI
29b0: 4e 4b 5f 4f 42 4a 53 29 20 24 28 43 5f 4a 45 54  NK_OBJS) $(C_JET
29c0: 5f 4f 42 4a 53 29 20 24 28 43 5f 54 45 53 54 4c  _OBJS) $(C_TESTL
29d0: 49 42 5f 55 4e 49 54 5f 4f 42 4a 53 29 0a 09 40  IB_UNIT_OBJS)..@
29e0: 6d 6b 64 69 72 20 2d 70 20 24 28 40 44 29 0a 09  mkdir -p $(@D)..
29f0: 24 28 43 43 29 20 24 28 4c 44 54 41 52 47 45 54  $(CC) $(LDTARGET
2a00: 29 20 24 28 66 69 6c 74 65 72 20 25 2e 24 28 4f  ) $(filter %.$(O
2a10: 29 2c 24 5e 29 20 24 28 63 61 6c 6c 20 52 50 41  ),$^) $(call RPA
2a20: 54 48 2c 24 28 6f 62 6a 72 6f 6f 74 29 6c 69 62  TH,$(objroot)lib
2a30: 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 66  ) $(LDFLAGS) $(f
2a40: 69 6c 74 65 72 2d 6f 75 74 20 2d 6c 6d 2c 24 28  ilter-out -lm,$(
2a50: 4c 49 42 53 29 29 20 24 28 4c 4d 29 20 24 28 45  LIBS)) $(LM) $(E
2a60: 58 54 52 41 5f 4c 44 46 4c 41 47 53 29 0a 0a 24  XTRA_LDFLAGS)..$
2a70: 28 6f 62 6a 72 6f 6f 74 29 74 65 73 74 2f 69 6e  (objroot)test/in
2a80: 74 65 67 72 61 74 69 6f 6e 2f 25 24 28 45 58 45  tegration/%$(EXE
2a90: 29 3a 20 24 28 6f 62 6a 72 6f 6f 74 29 74 65 73  ): $(objroot)tes
2aa0: 74 2f 69 6e 74 65 67 72 61 74 69 6f 6e 2f 25 2e  t/integration/%.
2ab0: 24 28 4f 29 20 24 28 43 5f 54 45 53 54 4c 49 42  $(O) $(C_TESTLIB
2ac0: 5f 49 4e 54 45 47 52 41 54 49 4f 4e 5f 4f 42 4a  _INTEGRATION_OBJ
2ad0: 53 29 20 24 28 43 5f 55 54 49 4c 5f 49 4e 54 45  S) $(C_UTIL_INTE
2ae0: 47 52 41 54 49 4f 4e 5f 4f 42 4a 53 29 20 24 28  GRATION_OBJS) $(
2af0: 6f 62 6a 72 6f 6f 74 29 6c 69 62 2f 24 28 4c 49  objroot)lib/$(LI
2b00: 42 4a 45 4d 41 4c 4c 4f 43 29 2e 24 28 49 4d 50  BJEMALLOC).$(IMP
2b10: 4f 52 54 4c 49 42 29 0a 09 40 6d 6b 64 69 72 20  ORTLIB)..@mkdir 
2b20: 2d 70 20 24 28 40 44 29 0a 09 24 28 43 43 29 20  -p $(@D)..$(CC) 
2b30: 24 28 54 45 53 54 5f 4c 44 5f 4d 4f 44 45 29 20  $(TEST_LD_MODE) 
2b40: 24 28 4c 44 54 41 52 47 45 54 29 20 24 28 66 69  $(LDTARGET) $(fi
2b50: 6c 74 65 72 20 25 2e 24 28 4f 29 2c 24 5e 29 20  lter %.$(O),$^) 
2b60: 24 28 63 61 6c 6c 20 52 50 41 54 48 2c 24 28 6f  $(call RPATH,$(o
2b70: 62 6a 72 6f 6f 74 29 6c 69 62 29 20 24 28 4c 4a  bjroot)lib) $(LJ
2b80: 45 4d 41 4c 4c 4f 43 29 20 24 28 4c 44 46 4c 41  EMALLOC) $(LDFLA
2b90: 47 53 29 20 24 28 66 69 6c 74 65 72 2d 6f 75 74  GS) $(filter-out
2ba0: 20 2d 6c 6d 2c 24 28 66 69 6c 74 65 72 20 2d 6c   -lm,$(filter -l
2bb0: 72 74 20 2d 6c 70 74 68 72 65 61 64 2c 24 28 4c  rt -lpthread,$(L
2bc0: 49 42 53 29 29 29 20 24 28 4c 4d 29 20 24 28 45  IBS))) $(LM) $(E
2bd0: 58 54 52 41 5f 4c 44 46 4c 41 47 53 29 0a 0a 24  XTRA_LDFLAGS)..$
2be0: 28 6f 62 6a 72 6f 6f 74 29 74 65 73 74 2f 73 74  (objroot)test/st
2bf0: 72 65 73 73 2f 25 24 28 45 58 45 29 3a 20 24 28  ress/%$(EXE): $(
2c00: 6f 62 6a 72 6f 6f 74 29 74 65 73 74 2f 73 74 72  objroot)test/str
2c10: 65 73 73 2f 25 2e 24 28 4f 29 20 24 28 43 5f 4a  ess/%.$(O) $(C_J
2c20: 45 54 5f 4f 42 4a 53 29 20 24 28 43 5f 54 45 53  ET_OBJS) $(C_TES
2c30: 54 4c 49 42 5f 53 54 52 45 53 53 5f 4f 42 4a 53  TLIB_STRESS_OBJS
2c40: 29 20 24 28 6f 62 6a 72 6f 6f 74 29 6c 69 62 2f  ) $(objroot)lib/
2c50: 24 28 4c 49 42 4a 45 4d 41 4c 4c 4f 43 29 2e 24  $(LIBJEMALLOC).$
2c60: 28 49 4d 50 4f 52 54 4c 49 42 29 0a 09 40 6d 6b  (IMPORTLIB)..@mk
2c70: 64 69 72 20 2d 70 20 24 28 40 44 29 0a 09 24 28  dir -p $(@D)..$(
2c80: 43 43 29 20 24 28 54 45 53 54 5f 4c 44 5f 4d 4f  CC) $(TEST_LD_MO
2c90: 44 45 29 20 24 28 4c 44 54 41 52 47 45 54 29 20  DE) $(LDTARGET) 
2ca0: 24 28 66 69 6c 74 65 72 20 25 2e 24 28 4f 29 2c  $(filter %.$(O),
2cb0: 24 5e 29 20 24 28 63 61 6c 6c 20 52 50 41 54 48  $^) $(call RPATH
2cc0: 2c 24 28 6f 62 6a 72 6f 6f 74 29 6c 69 62 29 20  ,$(objroot)lib) 
2cd0: 24 28 6f 62 6a 72 6f 6f 74 29 6c 69 62 2f 24 28  $(objroot)lib/$(
2ce0: 4c 49 42 4a 45 4d 41 4c 4c 4f 43 29 2e 24 28 49  LIBJEMALLOC).$(I
2cf0: 4d 50 4f 52 54 4c 49 42 29 20 24 28 4c 44 46 4c  MPORTLIB) $(LDFL
2d00: 41 47 53 29 20 24 28 66 69 6c 74 65 72 2d 6f 75  AGS) $(filter-ou
2d10: 74 20 2d 6c 6d 2c 24 28 4c 49 42 53 29 29 20 24  t -lm,$(LIBS)) $
2d20: 28 4c 4d 29 20 24 28 45 58 54 52 41 5f 4c 44 46  (LM) $(EXTRA_LDF
2d30: 4c 41 47 53 29 0a 0a 62 75 69 6c 64 5f 6c 69 62  LAGS)..build_lib
2d40: 5f 73 68 61 72 65 64 3a 20 24 28 44 53 4f 53 29  _shared: $(DSOS)
2d50: 0a 62 75 69 6c 64 5f 6c 69 62 5f 73 74 61 74 69  .build_lib_stati
2d60: 63 3a 20 24 28 53 54 41 54 49 43 5f 4c 49 42 53  c: $(STATIC_LIBS
2d70: 29 0a 62 75 69 6c 64 5f 6c 69 62 3a 20 62 75 69  ).build_lib: bui
2d80: 6c 64 5f 6c 69 62 5f 73 68 61 72 65 64 20 62 75  ld_lib_shared bu
2d90: 69 6c 64 5f 6c 69 62 5f 73 74 61 74 69 63 0a 0a  ild_lib_static..
2da0: 69 6e 73 74 61 6c 6c 5f 62 69 6e 3a 0a 09 24 28  install_bin:..$(
2db0: 49 4e 53 54 41 4c 4c 29 20 2d 64 20 24 28 42 49  INSTALL) -d $(BI
2dc0: 4e 44 49 52 29 0a 09 40 66 6f 72 20 62 20 69 6e  NDIR)..@for b in
2dd0: 20 24 28 42 49 4e 53 29 3b 20 64 6f 20 5c 0a 09   $(BINS); do \..
2de0: 65 63 68 6f 20 22 24 28 49 4e 53 54 41 4c 4c 29  echo "$(INSTALL)
2df0: 20 2d 6d 20 37 35 35 20 24 24 62 20 24 28 42 49   -m 755 $$b $(BI
2e00: 4e 44 49 52 29 22 3b 20 5c 0a 09 24 28 49 4e 53  NDIR)"; \..$(INS
2e10: 54 41 4c 4c 29 20 2d 6d 20 37 35 35 20 24 24 62  TALL) -m 755 $$b
2e20: 20 24 28 42 49 4e 44 49 52 29 3b 20 5c 0a 64 6f   $(BINDIR); \.do
2e30: 6e 65 0a 0a 69 6e 73 74 61 6c 6c 5f 69 6e 63 6c  ne..install_incl
2e40: 75 64 65 3a 0a 09 24 28 49 4e 53 54 41 4c 4c 29  ude:..$(INSTALL)
2e50: 20 2d 64 20 24 28 49 4e 43 4c 55 44 45 44 49 52   -d $(INCLUDEDIR
2e60: 29 2f 6a 65 6d 61 6c 6c 6f 63 0a 09 40 66 6f 72  )/jemalloc..@for
2e70: 20 68 20 69 6e 20 24 28 43 5f 48 44 52 53 29 3b   h in $(C_HDRS);
2e80: 20 64 6f 20 5c 0a 09 65 63 68 6f 20 22 24 28 49   do \..echo "$(I
2e90: 4e 53 54 41 4c 4c 29 20 2d 6d 20 36 34 34 20 24  NSTALL) -m 644 $
2ea0: 24 68 20 24 28 49 4e 43 4c 55 44 45 44 49 52 29  $h $(INCLUDEDIR)
2eb0: 2f 6a 65 6d 61 6c 6c 6f 63 22 3b 20 5c 0a 09 24  /jemalloc"; \..$
2ec0: 28 49 4e 53 54 41 4c 4c 29 20 2d 6d 20 36 34 34  (INSTALL) -m 644
2ed0: 20 24 24 68 20 24 28 49 4e 43 4c 55 44 45 44 49   $$h $(INCLUDEDI
2ee0: 52 29 2f 6a 65 6d 61 6c 6c 6f 63 3b 20 5c 0a 64  R)/jemalloc; \.d
2ef0: 6f 6e 65 0a 0a 69 6e 73 74 61 6c 6c 5f 6c 69 62  one..install_lib
2f00: 5f 73 68 61 72 65 64 3a 20 24 28 44 53 4f 53 29  _shared: $(DSOS)
2f10: 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 2d 64 20  ..$(INSTALL) -d 
2f20: 24 28 4c 49 42 44 49 52 29 0a 09 24 28 49 4e 53  $(LIBDIR)..$(INS
2f30: 54 41 4c 4c 29 20 2d 6d 20 37 35 35 20 24 28 6f  TALL) -m 755 $(o
2f40: 62 6a 72 6f 6f 74 29 6c 69 62 2f 24 28 4c 49 42  bjroot)lib/$(LIB
2f50: 4a 45 4d 41 4c 4c 4f 43 29 2e 24 28 53 4f 52 45  JEMALLOC).$(SORE
2f60: 56 29 20 24 28 4c 49 42 44 49 52 29 0a 69 66 6e  V) $(LIBDIR).ifn
2f70: 65 71 20 28 24 28 53 4f 52 45 56 29 2c 24 28 53  eq ($(SOREV),$(S
2f80: 4f 29 29 0a 09 6c 6e 20 2d 73 66 20 24 28 4c 49  O))..ln -sf $(LI
2f90: 42 4a 45 4d 41 4c 4c 4f 43 29 2e 24 28 53 4f 52  BJEMALLOC).$(SOR
2fa0: 45 56 29 20 24 28 4c 49 42 44 49 52 29 2f 24 28  EV) $(LIBDIR)/$(
2fb0: 4c 49 42 4a 45 4d 41 4c 4c 4f 43 29 2e 24 28 53  LIBJEMALLOC).$(S
2fc0: 4f 29 0a 65 6e 64 69 66 0a 0a 69 6e 73 74 61 6c  O).endif..instal
2fd0: 6c 5f 6c 69 62 5f 73 74 61 74 69 63 3a 20 24 28  l_lib_static: $(
2fe0: 53 54 41 54 49 43 5f 4c 49 42 53 29 0a 09 24 28  STATIC_LIBS)..$(
2ff0: 49 4e 53 54 41 4c 4c 29 20 2d 64 20 24 28 4c 49  INSTALL) -d $(LI
3000: 42 44 49 52 29 0a 09 40 66 6f 72 20 6c 20 69 6e  BDIR)..@for l in
3010: 20 24 28 53 54 41 54 49 43 5f 4c 49 42 53 29 3b   $(STATIC_LIBS);
3020: 20 64 6f 20 5c 0a 09 65 63 68 6f 20 22 24 28 49   do \..echo "$(I
3030: 4e 53 54 41 4c 4c 29 20 2d 6d 20 37 35 35 20 24  NSTALL) -m 755 $
3040: 24 6c 20 24 28 4c 49 42 44 49 52 29 22 3b 20 5c  $l $(LIBDIR)"; \
3050: 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 2d 6d 20  ..$(INSTALL) -m 
3060: 37 35 35 20 24 24 6c 20 24 28 4c 49 42 44 49 52  755 $$l $(LIBDIR
3070: 29 3b 20 5c 0a 64 6f 6e 65 0a 0a 69 6e 73 74 61  ); \.done..insta
3080: 6c 6c 5f 6c 69 62 5f 70 63 3a 20 24 28 50 43 29  ll_lib_pc: $(PC)
3090: 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 2d 64 20  ..$(INSTALL) -d 
30a0: 24 28 4c 49 42 44 49 52 29 2f 70 6b 67 63 6f 6e  $(LIBDIR)/pkgcon
30b0: 66 69 67 0a 09 40 66 6f 72 20 6c 20 69 6e 20 24  fig..@for l in $
30c0: 28 50 43 29 3b 20 64 6f 20 5c 0a 09 65 63 68 6f  (PC); do \..echo
30d0: 20 22 24 28 49 4e 53 54 41 4c 4c 29 20 2d 6d 20   "$(INSTALL) -m 
30e0: 36 34 34 20 24 24 6c 20 24 28 4c 49 42 44 49 52  644 $$l $(LIBDIR
30f0: 29 2f 70 6b 67 63 6f 6e 66 69 67 22 3b 20 5c 0a  )/pkgconfig"; \.
3100: 09 24 28 49 4e 53 54 41 4c 4c 29 20 2d 6d 20 36  .$(INSTALL) -m 6
3110: 34 34 20 24 24 6c 20 24 28 4c 49 42 44 49 52 29  44 $$l $(LIBDIR)
3120: 2f 70 6b 67 63 6f 6e 66 69 67 3b 20 5c 0a 64 6f  /pkgconfig; \.do
3130: 6e 65 0a 0a 69 6e 73 74 61 6c 6c 5f 6c 69 62 3a  ne..install_lib:
3140: 20 69 6e 73 74 61 6c 6c 5f 6c 69 62 5f 73 68 61   install_lib_sha
3150: 72 65 64 20 69 6e 73 74 61 6c 6c 5f 6c 69 62 5f  red install_lib_
3160: 73 74 61 74 69 63 20 69 6e 73 74 61 6c 6c 5f 6c  static install_l
3170: 69 62 5f 70 63 0a 0a 69 6e 73 74 61 6c 6c 5f 64  ib_pc..install_d
3180: 6f 63 5f 68 74 6d 6c 3a 0a 09 24 28 49 4e 53 54  oc_html:..$(INST
3190: 41 4c 4c 29 20 2d 64 20 24 28 44 41 54 41 44 49  ALL) -d $(DATADI
31a0: 52 29 2f 64 6f 63 2f 6a 65 6d 61 6c 6c 6f 63 24  R)/doc/jemalloc$
31b0: 28 69 6e 73 74 61 6c 6c 5f 73 75 66 66 69 78 29  (install_suffix)
31c0: 0a 09 40 66 6f 72 20 64 20 69 6e 20 24 28 44 4f  ..@for d in $(DO
31d0: 43 53 5f 48 54 4d 4c 29 3b 20 64 6f 20 5c 0a 09  CS_HTML); do \..
31e0: 65 63 68 6f 20 22 24 28 49 4e 53 54 41 4c 4c 29  echo "$(INSTALL)
31f0: 20 2d 6d 20 36 34 34 20 24 24 64 20 24 28 44 41   -m 644 $$d $(DA
3200: 54 41 44 49 52 29 2f 64 6f 63 2f 6a 65 6d 61 6c  TADIR)/doc/jemal
3210: 6c 6f 63 24 28 69 6e 73 74 61 6c 6c 5f 73 75 66  loc$(install_suf
3220: 66 69 78 29 22 3b 20 5c 0a 09 24 28 49 4e 53 54  fix)"; \..$(INST
3230: 41 4c 4c 29 20 2d 6d 20 36 34 34 20 24 24 64 20  ALL) -m 644 $$d 
3240: 24 28 44 41 54 41 44 49 52 29 2f 64 6f 63 2f 6a  $(DATADIR)/doc/j
3250: 65 6d 61 6c 6c 6f 63 24 28 69 6e 73 74 61 6c 6c  emalloc$(install
3260: 5f 73 75 66 66 69 78 29 3b 20 5c 0a 64 6f 6e 65  _suffix); \.done
3270: 0a 0a 69 6e 73 74 61 6c 6c 5f 64 6f 63 5f 6d 61  ..install_doc_ma
3280: 6e 3a 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 2d  n:..$(INSTALL) -
3290: 64 20 24 28 4d 41 4e 44 49 52 29 2f 6d 61 6e 33  d $(MANDIR)/man3
32a0: 0a 09 40 66 6f 72 20 64 20 69 6e 20 24 28 44 4f  ..@for d in $(DO
32b0: 43 53 5f 4d 41 4e 33 29 3b 20 64 6f 20 5c 0a 09  CS_MAN3); do \..
32c0: 65 63 68 6f 20 22 24 28 49 4e 53 54 41 4c 4c 29  echo "$(INSTALL)
32d0: 20 2d 6d 20 36 34 34 20 24 24 64 20 24 28 4d 41   -m 644 $$d $(MA
32e0: 4e 44 49 52 29 2f 6d 61 6e 33 22 3b 20 5c 0a 09  NDIR)/man3"; \..
32f0: 24 28 49 4e 53 54 41 4c 4c 29 20 2d 6d 20 36 34  $(INSTALL) -m 64
3300: 34 20 24 24 64 20 24 28 4d 41 4e 44 49 52 29 2f  4 $$d $(MANDIR)/
3310: 6d 61 6e 33 3b 20 5c 0a 64 6f 6e 65 0a 0a 69 6e  man3; \.done..in
3320: 73 74 61 6c 6c 5f 64 6f 63 3a 20 69 6e 73 74 61  stall_doc: insta
3330: 6c 6c 5f 64 6f 63 5f 68 74 6d 6c 20 69 6e 73 74  ll_doc_html inst
3340: 61 6c 6c 5f 64 6f 63 5f 6d 61 6e 0a 0a 69 6e 73  all_doc_man..ins
3350: 74 61 6c 6c 3a 20 69 6e 73 74 61 6c 6c 5f 62 69  tall: install_bi
3360: 6e 20 69 6e 73 74 61 6c 6c 5f 69 6e 63 6c 75 64  n install_includ
3370: 65 20 69 6e 73 74 61 6c 6c 5f 6c 69 62 20 69 6e  e install_lib in
3380: 73 74 61 6c 6c 5f 64 6f 63 0a 0a 74 65 73 74 73  stall_doc..tests
3390: 5f 75 6e 69 74 3a 20 24 28 54 45 53 54 53 5f 55  _unit: $(TESTS_U
33a0: 4e 49 54 3a 24 28 73 72 63 72 6f 6f 74 29 25 2e  NIT:$(srcroot)%.
33b0: 63 3d 24 28 6f 62 6a 72 6f 6f 74 29 25 24 28 45  c=$(objroot)%$(E
33c0: 58 45 29 29 0a 74 65 73 74 73 5f 69 6e 74 65 67  XE)).tests_integ
33d0: 72 61 74 69 6f 6e 3a 20 24 28 54 45 53 54 53 5f  ration: $(TESTS_
33e0: 49 4e 54 45 47 52 41 54 49 4f 4e 3a 24 28 73 72  INTEGRATION:$(sr
33f0: 63 72 6f 6f 74 29 25 2e 63 3d 24 28 6f 62 6a 72  croot)%.c=$(objr
3400: 6f 6f 74 29 25 24 28 45 58 45 29 29 0a 74 65 73  oot)%$(EXE)).tes
3410: 74 73 5f 73 74 72 65 73 73 3a 20 24 28 54 45 53  ts_stress: $(TES
3420: 54 53 5f 53 54 52 45 53 53 3a 24 28 73 72 63 72  TS_STRESS:$(srcr
3430: 6f 6f 74 29 25 2e 63 3d 24 28 6f 62 6a 72 6f 6f  oot)%.c=$(objroo
3440: 74 29 25 24 28 45 58 45 29 29 0a 74 65 73 74 73  t)%$(EXE)).tests
3450: 3a 20 74 65 73 74 73 5f 75 6e 69 74 20 74 65 73  : tests_unit tes
3460: 74 73 5f 69 6e 74 65 67 72 61 74 69 6f 6e 20 74  ts_integration t
3470: 65 73 74 73 5f 73 74 72 65 73 73 0a 0a 63 68 65  ests_stress..che
3480: 63 6b 5f 75 6e 69 74 5f 64 69 72 3a 0a 09 40 6d  ck_unit_dir:..@m
3490: 6b 64 69 72 20 2d 70 20 24 28 6f 62 6a 72 6f 6f  kdir -p $(objroo
34a0: 74 29 74 65 73 74 2f 75 6e 69 74 0a 63 68 65 63  t)test/unit.chec
34b0: 6b 5f 69 6e 74 65 67 72 61 74 69 6f 6e 5f 64 69  k_integration_di
34c0: 72 3a 0a 09 40 6d 6b 64 69 72 20 2d 70 20 24 28  r:..@mkdir -p $(
34d0: 6f 62 6a 72 6f 6f 74 29 74 65 73 74 2f 69 6e 74  objroot)test/int
34e0: 65 67 72 61 74 69 6f 6e 0a 73 74 72 65 73 73 5f  egration.stress_
34f0: 64 69 72 3a 0a 09 40 6d 6b 64 69 72 20 2d 70 20  dir:..@mkdir -p 
3500: 24 28 6f 62 6a 72 6f 6f 74 29 74 65 73 74 2f 73  $(objroot)test/s
3510: 74 72 65 73 73 0a 63 68 65 63 6b 5f 64 69 72 3a  tress.check_dir:
3520: 20 63 68 65 63 6b 5f 75 6e 69 74 5f 64 69 72 20   check_unit_dir 
3530: 63 68 65 63 6b 5f 69 6e 74 65 67 72 61 74 69 6f  check_integratio
3540: 6e 5f 64 69 72 0a 0a 63 68 65 63 6b 5f 75 6e 69  n_dir..check_uni
3550: 74 3a 20 74 65 73 74 73 5f 75 6e 69 74 20 63 68  t: tests_unit ch
3560: 65 63 6b 5f 75 6e 69 74 5f 64 69 72 0a 09 24 28  eck_unit_dir..$(
3570: 4d 41 4c 4c 4f 43 5f 43 4f 4e 46 29 3d 22 70 75  MALLOC_CONF)="pu
3580: 72 67 65 3a 72 61 74 69 6f 22 20 24 28 53 48 45  rge:ratio" $(SHE
3590: 4c 4c 29 20 24 28 6f 62 6a 72 6f 6f 74 29 74 65  LL) $(objroot)te
35a0: 73 74 2f 74 65 73 74 2e 73 68 20 24 28 54 45 53  st/test.sh $(TES
35b0: 54 53 5f 55 4e 49 54 3a 24 28 73 72 63 72 6f 6f  TS_UNIT:$(srcroo
35c0: 74 29 25 2e 63 3d 24 28 6f 62 6a 72 6f 6f 74 29  t)%.c=$(objroot)
35d0: 25 29 0a 09 24 28 4d 41 4c 4c 4f 43 5f 43 4f 4e  %)..$(MALLOC_CON
35e0: 46 29 3d 22 70 75 72 67 65 3a 64 65 63 61 79 22  F)="purge:decay"
35f0: 20 24 28 53 48 45 4c 4c 29 20 24 28 6f 62 6a 72   $(SHELL) $(objr
3600: 6f 6f 74 29 74 65 73 74 2f 74 65 73 74 2e 73 68  oot)test/test.sh
3610: 20 24 28 54 45 53 54 53 5f 55 4e 49 54 3a 24 28   $(TESTS_UNIT:$(
3620: 73 72 63 72 6f 6f 74 29 25 2e 63 3d 24 28 6f 62  srcroot)%.c=$(ob
3630: 6a 72 6f 6f 74 29 25 29 0a 63 68 65 63 6b 5f 69  jroot)%).check_i
3640: 6e 74 65 67 72 61 74 69 6f 6e 5f 70 72 6f 66 3a  ntegration_prof:
3650: 20 74 65 73 74 73 5f 69 6e 74 65 67 72 61 74 69   tests_integrati
3660: 6f 6e 20 63 68 65 63 6b 5f 69 6e 74 65 67 72 61  on check_integra
3670: 74 69 6f 6e 5f 64 69 72 0a 69 66 65 71 20 28 24  tion_dir.ifeq ($
3680: 28 65 6e 61 62 6c 65 5f 70 72 6f 66 29 2c 20 31  (enable_prof), 1
3690: 29 0a 09 24 28 4d 41 4c 4c 4f 43 5f 43 4f 4e 46  )..$(MALLOC_CONF
36a0: 29 3d 22 70 72 6f 66 3a 74 72 75 65 22 20 24 28  )="prof:true" $(
36b0: 53 48 45 4c 4c 29 20 24 28 6f 62 6a 72 6f 6f 74  SHELL) $(objroot
36c0: 29 74 65 73 74 2f 74 65 73 74 2e 73 68 20 24 28  )test/test.sh $(
36d0: 54 45 53 54 53 5f 49 4e 54 45 47 52 41 54 49 4f  TESTS_INTEGRATIO
36e0: 4e 3a 24 28 73 72 63 72 6f 6f 74 29 25 2e 63 3d  N:$(srcroot)%.c=
36f0: 24 28 6f 62 6a 72 6f 6f 74 29 25 29 0a 09 24 28  $(objroot)%)..$(
3700: 4d 41 4c 4c 4f 43 5f 43 4f 4e 46 29 3d 22 70 72  MALLOC_CONF)="pr
3710: 6f 66 3a 74 72 75 65 2c 70 72 6f 66 5f 61 63 74  of:true,prof_act
3720: 69 76 65 3a 66 61 6c 73 65 22 20 24 28 53 48 45  ive:false" $(SHE
3730: 4c 4c 29 20 24 28 6f 62 6a 72 6f 6f 74 29 74 65  LL) $(objroot)te
3740: 73 74 2f 74 65 73 74 2e 73 68 20 24 28 54 45 53  st/test.sh $(TES
3750: 54 53 5f 49 4e 54 45 47 52 41 54 49 4f 4e 3a 24  TS_INTEGRATION:$
3760: 28 73 72 63 72 6f 6f 74 29 25 2e 63 3d 24 28 6f  (srcroot)%.c=$(o
3770: 62 6a 72 6f 6f 74 29 25 29 0a 65 6e 64 69 66 0a  bjroot)%).endif.
3780: 63 68 65 63 6b 5f 69 6e 74 65 67 72 61 74 69 6f  check_integratio
3790: 6e 5f 64 65 63 61 79 3a 20 74 65 73 74 73 5f 69  n_decay: tests_i
37a0: 6e 74 65 67 72 61 74 69 6f 6e 20 63 68 65 63 6b  ntegration check
37b0: 5f 69 6e 74 65 67 72 61 74 69 6f 6e 5f 64 69 72  _integration_dir
37c0: 0a 09 24 28 4d 41 4c 4c 4f 43 5f 43 4f 4e 46 29  ..$(MALLOC_CONF)
37d0: 3d 22 70 75 72 67 65 3a 64 65 63 61 79 2c 64 65  ="purge:decay,de
37e0: 63 61 79 5f 74 69 6d 65 3a 2d 31 22 20 24 28 53  cay_time:-1" $(S
37f0: 48 45 4c 4c 29 20 24 28 6f 62 6a 72 6f 6f 74 29  HELL) $(objroot)
3800: 74 65 73 74 2f 74 65 73 74 2e 73 68 20 24 28 54  test/test.sh $(T
3810: 45 53 54 53 5f 49 4e 54 45 47 52 41 54 49 4f 4e  ESTS_INTEGRATION
3820: 3a 24 28 73 72 63 72 6f 6f 74 29 25 2e 63 3d 24  :$(srcroot)%.c=$
3830: 28 6f 62 6a 72 6f 6f 74 29 25 29 0a 09 24 28 4d  (objroot)%)..$(M
3840: 41 4c 4c 4f 43 5f 43 4f 4e 46 29 3d 22 70 75 72  ALLOC_CONF)="pur
3850: 67 65 3a 64 65 63 61 79 2c 64 65 63 61 79 5f 74  ge:decay,decay_t
3860: 69 6d 65 3a 30 22 20 24 28 53 48 45 4c 4c 29 20  ime:0" $(SHELL) 
3870: 24 28 6f 62 6a 72 6f 6f 74 29 74 65 73 74 2f 74  $(objroot)test/t
3880: 65 73 74 2e 73 68 20 24 28 54 45 53 54 53 5f 49  est.sh $(TESTS_I
3890: 4e 54 45 47 52 41 54 49 4f 4e 3a 24 28 73 72 63  NTEGRATION:$(src
38a0: 72 6f 6f 74 29 25 2e 63 3d 24 28 6f 62 6a 72 6f  root)%.c=$(objro
38b0: 6f 74 29 25 29 0a 09 24 28 4d 41 4c 4c 4f 43 5f  ot)%)..$(MALLOC_
38c0: 43 4f 4e 46 29 3d 22 70 75 72 67 65 3a 64 65 63  CONF)="purge:dec
38d0: 61 79 22 20 24 28 53 48 45 4c 4c 29 20 24 28 6f  ay" $(SHELL) $(o
38e0: 62 6a 72 6f 6f 74 29 74 65 73 74 2f 74 65 73 74  bjroot)test/test
38f0: 2e 73 68 20 24 28 54 45 53 54 53 5f 49 4e 54 45  .sh $(TESTS_INTE
3900: 47 52 41 54 49 4f 4e 3a 24 28 73 72 63 72 6f 6f  GRATION:$(srcroo
3910: 74 29 25 2e 63 3d 24 28 6f 62 6a 72 6f 6f 74 29  t)%.c=$(objroot)
3920: 25 29 0a 63 68 65 63 6b 5f 69 6e 74 65 67 72 61  %).check_integra
3930: 74 69 6f 6e 3a 20 74 65 73 74 73 5f 69 6e 74 65  tion: tests_inte
3940: 67 72 61 74 69 6f 6e 20 63 68 65 63 6b 5f 69 6e  gration check_in
3950: 74 65 67 72 61 74 69 6f 6e 5f 64 69 72 0a 09 24  tegration_dir..$
3960: 28 53 48 45 4c 4c 29 20 24 28 6f 62 6a 72 6f 6f  (SHELL) $(objroo
3970: 74 29 74 65 73 74 2f 74 65 73 74 2e 73 68 20 24  t)test/test.sh $
3980: 28 54 45 53 54 53 5f 49 4e 54 45 47 52 41 54 49  (TESTS_INTEGRATI
3990: 4f 4e 3a 24 28 73 72 63 72 6f 6f 74 29 25 2e 63  ON:$(srcroot)%.c
39a0: 3d 24 28 6f 62 6a 72 6f 6f 74 29 25 29 0a 73 74  =$(objroot)%).st
39b0: 72 65 73 73 3a 20 74 65 73 74 73 5f 73 74 72 65  ress: tests_stre
39c0: 73 73 20 73 74 72 65 73 73 5f 64 69 72 0a 09 24  ss stress_dir..$
39d0: 28 53 48 45 4c 4c 29 20 24 28 6f 62 6a 72 6f 6f  (SHELL) $(objroo
39e0: 74 29 74 65 73 74 2f 74 65 73 74 2e 73 68 20 24  t)test/test.sh $
39f0: 28 54 45 53 54 53 5f 53 54 52 45 53 53 3a 24 28  (TESTS_STRESS:$(
3a00: 73 72 63 72 6f 6f 74 29 25 2e 63 3d 24 28 6f 62  srcroot)%.c=$(ob
3a10: 6a 72 6f 6f 74 29 25 29 0a 63 68 65 63 6b 3a 20  jroot)%).check: 
3a20: 63 68 65 63 6b 5f 75 6e 69 74 20 63 68 65 63 6b  check_unit check
3a30: 5f 69 6e 74 65 67 72 61 74 69 6f 6e 20 63 68 65  _integration che
3a40: 63 6b 5f 69 6e 74 65 67 72 61 74 69 6f 6e 5f 64  ck_integration_d
3a50: 65 63 61 79 20 63 68 65 63 6b 5f 69 6e 74 65 67  ecay check_integ
3a60: 72 61 74 69 6f 6e 5f 70 72 6f 66 0a 0a 69 66 65  ration_prof..ife
3a70: 71 20 28 24 28 65 6e 61 62 6c 65 5f 63 6f 64 65  q ($(enable_code
3a80: 5f 63 6f 76 65 72 61 67 65 29 2c 20 31 29 0a 63  _coverage), 1).c
3a90: 6f 76 65 72 61 67 65 5f 75 6e 69 74 3a 20 63 68  overage_unit: ch
3aa0: 65 63 6b 5f 75 6e 69 74 0a 09 24 28 53 48 45 4c  eck_unit..$(SHEL
3ab0: 4c 29 20 24 28 73 72 63 72 6f 6f 74 29 63 6f 76  L) $(srcroot)cov
3ac0: 65 72 61 67 65 2e 73 68 20 24 28 73 72 63 72 6f  erage.sh $(srcro
3ad0: 6f 74 29 73 72 63 20 6a 65 74 20 24 28 43 5f 4a  ot)src jet $(C_J
3ae0: 45 54 5f 4f 42 4a 53 29 0a 09 24 28 53 48 45 4c  ET_OBJS)..$(SHEL
3af0: 4c 29 20 24 28 73 72 63 72 6f 6f 74 29 63 6f 76  L) $(srcroot)cov
3b00: 65 72 61 67 65 2e 73 68 20 24 28 73 72 63 72 6f  erage.sh $(srcro
3b10: 6f 74 29 74 65 73 74 2f 73 72 63 20 75 6e 69 74  ot)test/src unit
3b20: 20 24 28 43 5f 54 45 53 54 4c 49 42 5f 55 4e 49   $(C_TESTLIB_UNI
3b30: 54 5f 4f 42 4a 53 29 0a 09 24 28 53 48 45 4c 4c  T_OBJS)..$(SHELL
3b40: 29 20 24 28 73 72 63 72 6f 6f 74 29 63 6f 76 65  ) $(srcroot)cove
3b50: 72 61 67 65 2e 73 68 20 24 28 73 72 63 72 6f 6f  rage.sh $(srcroo
3b60: 74 29 74 65 73 74 2f 75 6e 69 74 20 75 6e 69 74  t)test/unit unit
3b70: 20 24 28 54 45 53 54 53 5f 55 4e 49 54 5f 4f 42   $(TESTS_UNIT_OB
3b80: 4a 53 29 0a 0a 63 6f 76 65 72 61 67 65 5f 69 6e  JS)..coverage_in
3b90: 74 65 67 72 61 74 69 6f 6e 3a 20 63 68 65 63 6b  tegration: check
3ba0: 5f 69 6e 74 65 67 72 61 74 69 6f 6e 0a 09 24 28  _integration..$(
3bb0: 53 48 45 4c 4c 29 20 24 28 73 72 63 72 6f 6f 74  SHELL) $(srcroot
3bc0: 29 63 6f 76 65 72 61 67 65 2e 73 68 20 24 28 73  )coverage.sh $(s
3bd0: 72 63 72 6f 6f 74 29 73 72 63 20 70 69 63 20 24  rcroot)src pic $
3be0: 28 43 5f 50 49 43 5f 4f 42 4a 53 29 0a 09 24 28  (C_PIC_OBJS)..$(
3bf0: 53 48 45 4c 4c 29 20 24 28 73 72 63 72 6f 6f 74  SHELL) $(srcroot
3c00: 29 63 6f 76 65 72 61 67 65 2e 73 68 20 24 28 73  )coverage.sh $(s
3c10: 72 63 72 6f 6f 74 29 73 72 63 20 69 6e 74 65 67  rcroot)src integ
3c20: 72 61 74 69 6f 6e 20 24 28 43 5f 55 54 49 4c 5f  ration $(C_UTIL_
3c30: 49 4e 54 45 47 52 41 54 49 4f 4e 5f 4f 42 4a 53  INTEGRATION_OBJS
3c40: 29 0a 09 24 28 53 48 45 4c 4c 29 20 24 28 73 72  )..$(SHELL) $(sr
3c50: 63 72 6f 6f 74 29 63 6f 76 65 72 61 67 65 2e 73  croot)coverage.s
3c60: 68 20 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74  h $(srcroot)test
3c70: 2f 73 72 63 20 69 6e 74 65 67 72 61 74 69 6f 6e  /src integration
3c80: 20 24 28 43 5f 54 45 53 54 4c 49 42 5f 49 4e 54   $(C_TESTLIB_INT
3c90: 45 47 52 41 54 49 4f 4e 5f 4f 42 4a 53 29 0a 09  EGRATION_OBJS)..
3ca0: 24 28 53 48 45 4c 4c 29 20 24 28 73 72 63 72 6f  $(SHELL) $(srcro
3cb0: 6f 74 29 63 6f 76 65 72 61 67 65 2e 73 68 20 24  ot)coverage.sh $
3cc0: 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f 69 6e  (srcroot)test/in
3cd0: 74 65 67 72 61 74 69 6f 6e 20 69 6e 74 65 67 72  tegration integr
3ce0: 61 74 69 6f 6e 20 24 28 54 45 53 54 53 5f 49 4e  ation $(TESTS_IN
3cf0: 54 45 47 52 41 54 49 4f 4e 5f 4f 42 4a 53 29 0a  TEGRATION_OBJS).
3d00: 0a 63 6f 76 65 72 61 67 65 5f 73 74 72 65 73 73  .coverage_stress
3d10: 3a 20 73 74 72 65 73 73 0a 09 24 28 53 48 45 4c  : stress..$(SHEL
3d20: 4c 29 20 24 28 73 72 63 72 6f 6f 74 29 63 6f 76  L) $(srcroot)cov
3d30: 65 72 61 67 65 2e 73 68 20 24 28 73 72 63 72 6f  erage.sh $(srcro
3d40: 6f 74 29 73 72 63 20 70 69 63 20 24 28 43 5f 50  ot)src pic $(C_P
3d50: 49 43 5f 4f 42 4a 53 29 0a 09 24 28 53 48 45 4c  IC_OBJS)..$(SHEL
3d60: 4c 29 20 24 28 73 72 63 72 6f 6f 74 29 63 6f 76  L) $(srcroot)cov
3d70: 65 72 61 67 65 2e 73 68 20 24 28 73 72 63 72 6f  erage.sh $(srcro
3d80: 6f 74 29 73 72 63 20 6a 65 74 20 24 28 43 5f 4a  ot)src jet $(C_J
3d90: 45 54 5f 4f 42 4a 53 29 0a 09 24 28 53 48 45 4c  ET_OBJS)..$(SHEL
3da0: 4c 29 20 24 28 73 72 63 72 6f 6f 74 29 63 6f 76  L) $(srcroot)cov
3db0: 65 72 61 67 65 2e 73 68 20 24 28 73 72 63 72 6f  erage.sh $(srcro
3dc0: 6f 74 29 74 65 73 74 2f 73 72 63 20 73 74 72 65  ot)test/src stre
3dd0: 73 73 20 24 28 43 5f 54 45 53 54 4c 49 42 5f 53  ss $(C_TESTLIB_S
3de0: 54 52 45 53 53 5f 4f 42 4a 53 29 0a 09 24 28 53  TRESS_OBJS)..$(S
3df0: 48 45 4c 4c 29 20 24 28 73 72 63 72 6f 6f 74 29  HELL) $(srcroot)
3e00: 63 6f 76 65 72 61 67 65 2e 73 68 20 24 28 73 72  coverage.sh $(sr
3e10: 63 72 6f 6f 74 29 74 65 73 74 2f 73 74 72 65 73  croot)test/stres
3e20: 73 20 73 74 72 65 73 73 20 24 28 54 45 53 54 53  s stress $(TESTS
3e30: 5f 53 54 52 45 53 53 5f 4f 42 4a 53 29 0a 0a 63  _STRESS_OBJS)..c
3e40: 6f 76 65 72 61 67 65 3a 20 63 68 65 63 6b 0a 09  overage: check..
3e50: 24 28 53 48 45 4c 4c 29 20 24 28 73 72 63 72 6f  $(SHELL) $(srcro
3e60: 6f 74 29 63 6f 76 65 72 61 67 65 2e 73 68 20 24  ot)coverage.sh $
3e70: 28 73 72 63 72 6f 6f 74 29 73 72 63 20 70 69 63  (srcroot)src pic
3e80: 20 24 28 43 5f 50 49 43 5f 4f 42 4a 53 29 0a 09   $(C_PIC_OBJS)..
3e90: 24 28 53 48 45 4c 4c 29 20 24 28 73 72 63 72 6f  $(SHELL) $(srcro
3ea0: 6f 74 29 63 6f 76 65 72 61 67 65 2e 73 68 20 24  ot)coverage.sh $
3eb0: 28 73 72 63 72 6f 6f 74 29 73 72 63 20 6a 65 74  (srcroot)src jet
3ec0: 20 24 28 43 5f 4a 45 54 5f 4f 42 4a 53 29 0a 09   $(C_JET_OBJS)..
3ed0: 24 28 53 48 45 4c 4c 29 20 24 28 73 72 63 72 6f  $(SHELL) $(srcro
3ee0: 6f 74 29 63 6f 76 65 72 61 67 65 2e 73 68 20 24  ot)coverage.sh $
3ef0: 28 73 72 63 72 6f 6f 74 29 73 72 63 20 69 6e 74  (srcroot)src int
3f00: 65 67 72 61 74 69 6f 6e 20 24 28 43 5f 55 54 49  egration $(C_UTI
3f10: 4c 5f 49 4e 54 45 47 52 41 54 49 4f 4e 5f 4f 42  L_INTEGRATION_OB
3f20: 4a 53 29 0a 09 24 28 53 48 45 4c 4c 29 20 24 28  JS)..$(SHELL) $(
3f30: 73 72 63 72 6f 6f 74 29 63 6f 76 65 72 61 67 65  srcroot)coverage
3f40: 2e 73 68 20 24 28 73 72 63 72 6f 6f 74 29 74 65  .sh $(srcroot)te
3f50: 73 74 2f 73 72 63 20 75 6e 69 74 20 24 28 43 5f  st/src unit $(C_
3f60: 54 45 53 54 4c 49 42 5f 55 4e 49 54 5f 4f 42 4a  TESTLIB_UNIT_OBJ
3f70: 53 29 0a 09 24 28 53 48 45 4c 4c 29 20 24 28 73  S)..$(SHELL) $(s
3f80: 72 63 72 6f 6f 74 29 63 6f 76 65 72 61 67 65 2e  rcroot)coverage.
3f90: 73 68 20 24 28 73 72 63 72 6f 6f 74 29 74 65 73  sh $(srcroot)tes
3fa0: 74 2f 73 72 63 20 69 6e 74 65 67 72 61 74 69 6f  t/src integratio
3fb0: 6e 20 24 28 43 5f 54 45 53 54 4c 49 42 5f 49 4e  n $(C_TESTLIB_IN
3fc0: 54 45 47 52 41 54 49 4f 4e 5f 4f 42 4a 53 29 0a  TEGRATION_OBJS).
3fd0: 09 24 28 53 48 45 4c 4c 29 20 24 28 73 72 63 72  .$(SHELL) $(srcr
3fe0: 6f 6f 74 29 63 6f 76 65 72 61 67 65 2e 73 68 20  oot)coverage.sh 
3ff0: 24 28 73 72 63 72 6f 6f 74 29 74 65 73 74 2f 73  $(srcroot)test/s
4000: 72 63 20 73 74 72 65 73 73 20 24 28 43 5f 54 45  rc stress $(C_TE
4010: 53 54 4c 49 42 5f 53 54 52 45 53 53 5f 4f 42 4a  STLIB_STRESS_OBJ
4020: 53 29 0a 09 24 28 53 48 45 4c 4c 29 20 24 28 73  S)..$(SHELL) $(s
4030: 72 63 72 6f 6f 74 29 63 6f 76 65 72 61 67 65 2e  rcroot)coverage.
4040: 73 68 20 24 28 73 72 63 72 6f 6f 74 29 74 65 73  sh $(srcroot)tes
4050: 74 2f 75 6e 69 74 20 75 6e 69 74 20 24 28 54 45  t/unit unit $(TE
4060: 53 54 53 5f 55 4e 49 54 5f 4f 42 4a 53 29 20 24  STS_UNIT_OBJS) $
4070: 28 54 45 53 54 53 5f 55 4e 49 54 5f 41 55 58 5f  (TESTS_UNIT_AUX_
4080: 4f 42 4a 53 29 0a 09 24 28 53 48 45 4c 4c 29 20  OBJS)..$(SHELL) 
4090: 24 28 73 72 63 72 6f 6f 74 29 63 6f 76 65 72 61  $(srcroot)covera
40a0: 67 65 2e 73 68 20 24 28 73 72 63 72 6f 6f 74 29  ge.sh $(srcroot)
40b0: 74 65 73 74 2f 69 6e 74 65 67 72 61 74 69 6f 6e  test/integration
40c0: 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 24 28 54   integration $(T
40d0: 45 53 54 53 5f 49 4e 54 45 47 52 41 54 49 4f 4e  ESTS_INTEGRATION
40e0: 5f 4f 42 4a 53 29 0a 09 24 28 53 48 45 4c 4c 29  _OBJS)..$(SHELL)
40f0: 20 24 28 73 72 63 72 6f 6f 74 29 63 6f 76 65 72   $(srcroot)cover
4100: 61 67 65 2e 73 68 20 24 28 73 72 63 72 6f 6f 74  age.sh $(srcroot
4110: 29 74 65 73 74 2f 73 74 72 65 73 73 20 69 6e 74  )test/stress int
4120: 65 67 72 61 74 69 6f 6e 20 24 28 54 45 53 54 53  egration $(TESTS
4130: 5f 53 54 52 45 53 53 5f 4f 42 4a 53 29 0a 65 6e  _STRESS_OBJS).en
4140: 64 69 66 0a 0a 63 6c 65 61 6e 3a 0a 09 72 6d 20  dif..clean:..rm 
4150: 2d 66 20 24 28 43 5f 4f 42 4a 53 29 0a 09 72 6d  -f $(C_OBJS)..rm
4160: 20 2d 66 20 24 28 43 5f 50 49 43 5f 4f 42 4a 53   -f $(C_PIC_OBJS
4170: 29 0a 09 72 6d 20 2d 66 20 24 28 43 5f 4a 45 54  )..rm -f $(C_JET
4180: 5f 4f 42 4a 53 29 0a 09 72 6d 20 2d 66 20 24 28  _OBJS)..rm -f $(
4190: 43 5f 54 45 53 54 4c 49 42 5f 4f 42 4a 53 29 0a  C_TESTLIB_OBJS).
41a0: 09 72 6d 20 2d 66 20 24 28 43 5f 4f 42 4a 53 3a  .rm -f $(C_OBJS:
41b0: 25 2e 24 28 4f 29 3d 25 2e 64 29 0a 09 72 6d 20  %.$(O)=%.d)..rm 
41c0: 2d 66 20 24 28 43 5f 4f 42 4a 53 3a 25 2e 24 28  -f $(C_OBJS:%.$(
41d0: 4f 29 3d 25 2e 67 63 64 61 29 0a 09 72 6d 20 2d  O)=%.gcda)..rm -
41e0: 66 20 24 28 43 5f 4f 42 4a 53 3a 25 2e 24 28 4f  f $(C_OBJS:%.$(O
41f0: 29 3d 25 2e 67 63 6e 6f 29 0a 09 72 6d 20 2d 66  )=%.gcno)..rm -f
4200: 20 24 28 43 5f 50 49 43 5f 4f 42 4a 53 3a 25 2e   $(C_PIC_OBJS:%.
4210: 24 28 4f 29 3d 25 2e 64 29 0a 09 72 6d 20 2d 66  $(O)=%.d)..rm -f
4220: 20 24 28 43 5f 50 49 43 5f 4f 42 4a 53 3a 25 2e   $(C_PIC_OBJS:%.
4230: 24 28 4f 29 3d 25 2e 67 63 64 61 29 0a 09 72 6d  $(O)=%.gcda)..rm
4240: 20 2d 66 20 24 28 43 5f 50 49 43 5f 4f 42 4a 53   -f $(C_PIC_OBJS
4250: 3a 25 2e 24 28 4f 29 3d 25 2e 67 63 6e 6f 29 0a  :%.$(O)=%.gcno).
4260: 09 72 6d 20 2d 66 20 24 28 43 5f 4a 45 54 5f 4f  .rm -f $(C_JET_O
4270: 42 4a 53 3a 25 2e 24 28 4f 29 3d 25 2e 64 29 0a  BJS:%.$(O)=%.d).
4280: 09 72 6d 20 2d 66 20 24 28 43 5f 4a 45 54 5f 4f  .rm -f $(C_JET_O
4290: 42 4a 53 3a 25 2e 24 28 4f 29 3d 25 2e 67 63 64  BJS:%.$(O)=%.gcd
42a0: 61 29 0a 09 72 6d 20 2d 66 20 24 28 43 5f 4a 45  a)..rm -f $(C_JE
42b0: 54 5f 4f 42 4a 53 3a 25 2e 24 28 4f 29 3d 25 2e  T_OBJS:%.$(O)=%.
42c0: 67 63 6e 6f 29 0a 09 72 6d 20 2d 66 20 24 28 43  gcno)..rm -f $(C
42d0: 5f 54 45 53 54 4c 49 42 5f 4f 42 4a 53 3a 25 2e  _TESTLIB_OBJS:%.
42e0: 24 28 4f 29 3d 25 2e 64 29 0a 09 72 6d 20 2d 66  $(O)=%.d)..rm -f
42f0: 20 24 28 43 5f 54 45 53 54 4c 49 42 5f 4f 42 4a   $(C_TESTLIB_OBJ
4300: 53 3a 25 2e 24 28 4f 29 3d 25 2e 67 63 64 61 29  S:%.$(O)=%.gcda)
4310: 0a 09 72 6d 20 2d 66 20 24 28 43 5f 54 45 53 54  ..rm -f $(C_TEST
4320: 4c 49 42 5f 4f 42 4a 53 3a 25 2e 24 28 4f 29 3d  LIB_OBJS:%.$(O)=
4330: 25 2e 67 63 6e 6f 29 0a 09 72 6d 20 2d 66 20 24  %.gcno)..rm -f $
4340: 28 54 45 53 54 53 5f 4f 42 4a 53 3a 25 2e 24 28  (TESTS_OBJS:%.$(
4350: 4f 29 3d 25 24 28 45 58 45 29 29 0a 09 72 6d 20  O)=%$(EXE))..rm 
4360: 2d 66 20 24 28 54 45 53 54 53 5f 4f 42 4a 53 29  -f $(TESTS_OBJS)
4370: 0a 09 72 6d 20 2d 66 20 24 28 54 45 53 54 53 5f  ..rm -f $(TESTS_
4380: 4f 42 4a 53 3a 25 2e 24 28 4f 29 3d 25 2e 64 29  OBJS:%.$(O)=%.d)
4390: 0a 09 72 6d 20 2d 66 20 24 28 54 45 53 54 53 5f  ..rm -f $(TESTS_
43a0: 4f 42 4a 53 3a 25 2e 24 28 4f 29 3d 25 2e 67 63  OBJS:%.$(O)=%.gc
43b0: 64 61 29 0a 09 72 6d 20 2d 66 20 24 28 54 45 53  da)..rm -f $(TES
43c0: 54 53 5f 4f 42 4a 53 3a 25 2e 24 28 4f 29 3d 25  TS_OBJS:%.$(O)=%
43d0: 2e 67 63 6e 6f 29 0a 09 72 6d 20 2d 66 20 24 28  .gcno)..rm -f $(
43e0: 54 45 53 54 53 5f 4f 42 4a 53 3a 25 2e 24 28 4f  TESTS_OBJS:%.$(O
43f0: 29 3d 25 2e 6f 75 74 29 0a 09 72 6d 20 2d 66 20  )=%.out)..rm -f 
4400: 24 28 44 53 4f 53 29 20 24 28 53 54 41 54 49 43  $(DSOS) $(STATIC
4410: 5f 4c 49 42 53 29 0a 09 72 6d 20 2d 66 20 24 28  _LIBS)..rm -f $(
4420: 6f 62 6a 72 6f 6f 74 29 2a 2e 67 63 6f 76 2e 2a  objroot)*.gcov.*
4430: 0a 0a 64 69 73 74 63 6c 65 61 6e 3a 20 63 6c 65  ..distclean: cle
4440: 61 6e 0a 09 72 6d 20 2d 66 20 24 28 6f 62 6a 72  an..rm -f $(objr
4450: 6f 6f 74 29 62 69 6e 2f 6a 65 6d 61 6c 6c 6f 63  oot)bin/jemalloc
4460: 2d 63 6f 6e 66 69 67 0a 09 72 6d 20 2d 66 20 24  -config..rm -f $
4470: 28 6f 62 6a 72 6f 6f 74 29 62 69 6e 2f 6a 65 6d  (objroot)bin/jem
4480: 61 6c 6c 6f 63 2e 73 68 0a 09 72 6d 20 2d 66 20  alloc.sh..rm -f 
4490: 24 28 6f 62 6a 72 6f 6f 74 29 62 69 6e 2f 6a 65  $(objroot)bin/je
44a0: 70 72 6f 66 0a 09 72 6d 20 2d 66 20 24 28 6f 62  prof..rm -f $(ob
44b0: 6a 72 6f 6f 74 29 63 6f 6e 66 69 67 2e 6c 6f 67  jroot)config.log
44c0: 0a 09 72 6d 20 2d 66 20 24 28 6f 62 6a 72 6f 6f  ..rm -f $(objroo
44d0: 74 29 63 6f 6e 66 69 67 2e 73 74 61 74 75 73 0a  t)config.status.
44e0: 09 72 6d 20 2d 66 20 24 28 6f 62 6a 72 6f 6f 74  .rm -f $(objroot
44f0: 29 63 6f 6e 66 69 67 2e 73 74 61 6d 70 0a 09 72  )config.stamp..r
4500: 6d 20 2d 66 20 24 28 63 66 67 68 64 72 73 5f 6f  m -f $(cfghdrs_o
4510: 75 74 29 0a 09 72 6d 20 2d 66 20 24 28 63 66 67  ut)..rm -f $(cfg
4520: 6f 75 74 70 75 74 73 5f 6f 75 74 29 0a 0a 72 65  outputs_out)..re
4530: 6c 63 6c 65 61 6e 3a 20 64 69 73 74 63 6c 65 61  lclean: distclea
4540: 6e 0a 09 72 6d 20 2d 66 20 24 28 6f 62 6a 72 6f  n..rm -f $(objro
4550: 6f 74 29 63 6f 6e 66 69 67 75 72 65 0a 09 72 6d  ot)configure..rm
4560: 20 2d 66 20 24 28 6f 62 6a 72 6f 6f 74 29 56 45   -f $(objroot)VE
4570: 52 53 49 4f 4e 0a 09 72 6d 20 2d 66 20 24 28 44  RSION..rm -f $(D
4580: 4f 43 53 5f 48 54 4d 4c 29 0a 09 72 6d 20 2d 66  OCS_HTML)..rm -f
4590: 20 24 28 44 4f 43 53 5f 4d 41 4e 33 29 0a 0a 23   $(DOCS_MAN3)..#
45a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
45b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
45c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
45d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
45e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a  ===============.
45f0: 23 20 52 65 2d 63 6f 6e 66 69 67 75 72 61 74 69  # Re-configurati
4600: 6f 6e 20 72 75 6c 65 73 2e 0a 0a 69 66 65 71 20  on rules...ifeq 
4610: 28 24 28 65 6e 61 62 6c 65 5f 61 75 74 6f 67 65  ($(enable_autoge
4620: 6e 29 2c 20 31 29 0a 24 28 73 72 63 72 6f 6f 74  n), 1).$(srcroot
4630: 29 63 6f 6e 66 69 67 75 72 65 20 3a 20 24 28 73  )configure : $(s
4640: 72 63 72 6f 6f 74 29 63 6f 6e 66 69 67 75 72 65  rcroot)configure
4650: 2e 61 63 0a 09 63 64 20 2e 2f 24 28 73 72 63 72  .ac..cd ./$(srcr
4660: 6f 6f 74 29 20 26 26 20 24 28 41 55 54 4f 43 4f  oot) && $(AUTOCO
4670: 4e 46 29 0a 0a 24 28 6f 62 6a 72 6f 6f 74 29 63  NF)..$(objroot)c
4680: 6f 6e 66 69 67 2e 73 74 61 74 75 73 20 3a 20 24  onfig.status : $
4690: 28 73 72 63 72 6f 6f 74 29 63 6f 6e 66 69 67 75  (srcroot)configu
46a0: 72 65 0a 09 2e 2f 24 28 6f 62 6a 72 6f 6f 74 29  re.../$(objroot)
46b0: 63 6f 6e 66 69 67 2e 73 74 61 74 75 73 20 2d 2d  config.status --
46c0: 72 65 63 68 65 63 6b 0a 0a 24 28 73 72 63 72 6f  recheck..$(srcro
46d0: 6f 74 29 63 6f 6e 66 69 67 2e 73 74 61 6d 70 2e  ot)config.stamp.
46e0: 69 6e 20 3a 20 24 28 73 72 63 72 6f 6f 74 29 63  in : $(srcroot)c
46f0: 6f 6e 66 69 67 75 72 65 2e 61 63 0a 09 65 63 68  onfigure.ac..ech
4700: 6f 20 73 74 61 6d 70 20 3e 20 24 28 73 72 63 72  o stamp > $(srcr
4710: 6f 6f 74 29 63 6f 6e 66 69 67 2e 73 74 61 6d 70  oot)config.stamp
4720: 2e 69 6e 0a 0a 24 28 6f 62 6a 72 6f 6f 74 29 63  .in..$(objroot)c
4730: 6f 6e 66 69 67 2e 73 74 61 6d 70 20 3a 20 24 28  onfig.stamp : $(
4740: 63 66 67 6f 75 74 70 75 74 73 5f 69 6e 29 20 24  cfgoutputs_in) $
4750: 28 63 66 67 68 64 72 73 5f 69 6e 29 20 24 28 73  (cfghdrs_in) $(s
4760: 72 63 72 6f 6f 74 29 63 6f 6e 66 69 67 75 72 65  rcroot)configure
4770: 0a 09 2e 2f 24 28 6f 62 6a 72 6f 6f 74 29 63 6f  .../$(objroot)co
4780: 6e 66 69 67 2e 73 74 61 74 75 73 0a 09 40 74 6f  nfig.status..@to
4790: 75 63 68 20 24 40 0a 0a 23 20 54 68 65 72 65 20  uch $@..# There 
47a0: 6d 75 73 74 20 62 65 20 73 6f 6d 65 20 61 63 74  must be some act
47b0: 69 6f 6e 20 69 6e 20 6f 72 64 65 72 20 66 6f 72  ion in order for
47c0: 20 6d 61 6b 65 20 74 6f 20 72 65 2d 72 65 61 64   make to re-read
47d0: 20 4d 61 6b 65 66 69 6c 65 20 77 68 65 6e 20 69   Makefile when i
47e0: 74 20 69 73 0a 23 20 6f 75 74 20 6f 66 20 64 61  t is.# out of da
47f0: 74 65 2e 0a 24 28 63 66 67 6f 75 74 70 75 74 73  te..$(cfgoutputs
4800: 5f 6f 75 74 29 20 24 28 63 66 67 68 64 72 73 5f  _out) $(cfghdrs_
4810: 6f 75 74 29 20 3a 20 24 28 6f 62 6a 72 6f 6f 74  out) : $(objroot
4820: 29 63 6f 6e 66 69 67 2e 73 74 61 6d 70 0a 09 40  )config.stamp..@
4830: 74 72 75 65 0a 65 6e 64 69 66 0a                 true.endif.