1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/memory/jemalloc/src/Makefile.in Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,323 @@ 1.4 +# Clear out all vpaths, then set just one (default vpath) for the main build 1.5 +# directory. 1.6 +vpath 1.7 +vpath % . 1.8 + 1.9 +# Clear the default suffixes, so that built-in rules are not used. 1.10 +.SUFFIXES : 1.11 + 1.12 +SHELL := /bin/sh 1.13 + 1.14 +CC := @CC@ 1.15 + 1.16 +# Configuration parameters. 1.17 +DESTDIR = 1.18 +BINDIR := $(DESTDIR)@BINDIR@ 1.19 +INCLUDEDIR := $(DESTDIR)@INCLUDEDIR@ 1.20 +LIBDIR := $(DESTDIR)@LIBDIR@ 1.21 +DATADIR := $(DESTDIR)@DATADIR@ 1.22 +MANDIR := $(DESTDIR)@MANDIR@ 1.23 +srcroot := @srcroot@ 1.24 +objroot := @objroot@ 1.25 +abs_srcroot := @abs_srcroot@ 1.26 +abs_objroot := @abs_objroot@ 1.27 + 1.28 +# Build parameters. 1.29 +CPPFLAGS := @CPPFLAGS@ -I$(srcroot)include -I$(objroot)include 1.30 +CFLAGS := @CFLAGS@ 1.31 +LDFLAGS := @LDFLAGS@ 1.32 +EXTRA_LDFLAGS := @EXTRA_LDFLAGS@ 1.33 +LIBS := @LIBS@ 1.34 +RPATH_EXTRA := @RPATH_EXTRA@ 1.35 +SO := @so@ 1.36 +IMPORTLIB := @importlib@ 1.37 +O := @o@ 1.38 +A := @a@ 1.39 +EXE := @exe@ 1.40 +LIBPREFIX := @libprefix@ 1.41 +REV := @rev@ 1.42 +install_suffix := @install_suffix@ 1.43 +ABI := @abi@ 1.44 +XSLTPROC := @XSLTPROC@ 1.45 +AUTOCONF := @AUTOCONF@ 1.46 +_RPATH = @RPATH@ 1.47 +RPATH = $(if $(1),$(call _RPATH,$(1))) 1.48 +cfghdrs_in := @cfghdrs_in@ 1.49 +cfghdrs_out := @cfghdrs_out@ 1.50 +cfgoutputs_in := @cfgoutputs_in@ 1.51 +cfgoutputs_out := @cfgoutputs_out@ 1.52 +enable_autogen := @enable_autogen@ 1.53 +enable_experimental := @enable_experimental@ 1.54 +DSO_LDFLAGS = @DSO_LDFLAGS@ 1.55 +SOREV = @SOREV@ 1.56 +PIC_CFLAGS = @PIC_CFLAGS@ 1.57 +CTARGET = @CTARGET@ 1.58 +LDTARGET = @LDTARGET@ 1.59 +MKLIB = @MKLIB@ 1.60 +CC_MM = @CC_MM@ 1.61 + 1.62 +ifeq (macho, $(ABI)) 1.63 +TEST_LIBRARY_PATH := DYLD_FALLBACK_LIBRARY_PATH="$(objroot)lib" 1.64 +else 1.65 +ifeq (pecoff, $(ABI)) 1.66 +TEST_LIBRARY_PATH := PATH="$(PATH):$(objroot)lib" 1.67 +else 1.68 +TEST_LIBRARY_PATH := 1.69 +endif 1.70 +endif 1.71 + 1.72 +LIBJEMALLOC := $(LIBPREFIX)jemalloc$(install_suffix) 1.73 + 1.74 +# Lists of files. 1.75 +BINS := $(srcroot)bin/pprof $(objroot)bin/jemalloc.sh 1.76 +CHDRS := $(objroot)include/jemalloc/jemalloc$(install_suffix).h \ 1.77 + $(objroot)include/jemalloc/jemalloc_defs$(install_suffix).h 1.78 +CSRCS := $(srcroot)src/jemalloc.c $(srcroot)src/arena.c $(srcroot)src/atomic.c \ 1.79 + $(srcroot)src/base.c $(srcroot)src/bitmap.c $(srcroot)src/chunk.c \ 1.80 + $(srcroot)src/chunk_dss.c $(srcroot)src/chunk_mmap.c \ 1.81 + $(srcroot)src/ckh.c $(srcroot)src/ctl.c $(srcroot)src/extent.c \ 1.82 + $(srcroot)src/hash.c $(srcroot)src/huge.c $(srcroot)src/mb.c \ 1.83 + $(srcroot)src/mutex.c $(srcroot)src/prof.c $(srcroot)src/quarantine.c \ 1.84 + $(srcroot)src/rtree.c $(srcroot)src/stats.c $(srcroot)src/tcache.c \ 1.85 + $(srcroot)src/util.c $(srcroot)src/tsd.c 1.86 +ifeq (macho, $(ABI)) 1.87 +CSRCS += $(srcroot)src/zone.c 1.88 +endif 1.89 +ifeq ($(IMPORTLIB),$(SO)) 1.90 +STATIC_LIBS := $(objroot)lib/$(LIBJEMALLOC).$(A) 1.91 +endif 1.92 +ifdef PIC_CFLAGS 1.93 +STATIC_LIBS += $(objroot)lib/$(LIBJEMALLOC)_pic.$(A) 1.94 +else 1.95 +STATIC_LIBS += $(objroot)lib/$(LIBJEMALLOC)_s.$(A) 1.96 +endif 1.97 +DSOS := $(objroot)lib/$(LIBJEMALLOC).$(SOREV) 1.98 +ifneq ($(SOREV),$(SO)) 1.99 +DSOS += $(objroot)lib/$(LIBJEMALLOC).$(SO) 1.100 +endif 1.101 +MAN3 := $(objroot)doc/jemalloc$(install_suffix).3 1.102 +DOCS_XML := $(objroot)doc/jemalloc$(install_suffix).xml 1.103 +DOCS_HTML := $(DOCS_XML:$(objroot)%.xml=$(srcroot)%.html) 1.104 +DOCS_MAN3 := $(DOCS_XML:$(objroot)%.xml=$(srcroot)%.3) 1.105 +DOCS := $(DOCS_HTML) $(DOCS_MAN3) 1.106 +CTESTS := $(srcroot)test/aligned_alloc.c $(srcroot)test/allocated.c \ 1.107 + $(srcroot)test/ALLOCM_ARENA.c $(srcroot)test/bitmap.c \ 1.108 + $(srcroot)test/mremap.c $(srcroot)test/posix_memalign.c \ 1.109 + $(srcroot)test/thread_arena.c $(srcroot)test/thread_tcache_enabled.c 1.110 +ifeq ($(enable_experimental), 1) 1.111 +CTESTS += $(srcroot)test/allocm.c $(srcroot)test/rallocm.c 1.112 +endif 1.113 + 1.114 +COBJS := $(CSRCS:$(srcroot)%.c=$(objroot)%.$(O)) 1.115 +CPICOBJS := $(CSRCS:$(srcroot)%.c=$(objroot)%.pic.$(O)) 1.116 +CTESTOBJS := $(CTESTS:$(srcroot)%.c=$(objroot)%.$(O)) 1.117 + 1.118 +.PHONY: all dist doc_html doc_man doc 1.119 +.PHONY: install_bin install_include install_lib 1.120 +.PHONY: install_html install_man install_doc install 1.121 +.PHONY: tests check clean distclean relclean 1.122 + 1.123 +.SECONDARY : $(CTESTOBJS) 1.124 + 1.125 +# Default target. 1.126 +all: build 1.127 + 1.128 +dist: build_doc 1.129 + 1.130 +$(srcroot)doc/%.html : $(objroot)doc/%.xml $(srcroot)doc/stylesheet.xsl $(objroot)doc/html.xsl 1.131 + $(XSLTPROC) -o $@ $(objroot)doc/html.xsl $< 1.132 + 1.133 +$(srcroot)doc/%.3 : $(objroot)doc/%.xml $(srcroot)doc/stylesheet.xsl $(objroot)doc/manpages.xsl 1.134 + $(XSLTPROC) -o $@ $(objroot)doc/manpages.xsl $< 1.135 + 1.136 +build_doc_html: $(DOCS_HTML) 1.137 +build_doc_man: $(DOCS_MAN3) 1.138 +build_doc: $(DOCS) 1.139 + 1.140 +# 1.141 +# Include generated dependency files. 1.142 +# 1.143 +ifdef CC_MM 1.144 +-include $(COBJS:%.$(O)=%.d) 1.145 +-include $(CPICOBJS:%.$(O)=%.d) 1.146 +-include $(CTESTOBJS:%.$(O)=%.d) 1.147 +endif 1.148 + 1.149 +$(COBJS): $(objroot)src/%.$(O): $(srcroot)src/%.c 1.150 +$(CPICOBJS): $(objroot)src/%.pic.$(O): $(srcroot)src/%.c 1.151 +$(CPICOBJS): CFLAGS += $(PIC_CFLAGS) 1.152 +$(CTESTOBJS): $(objroot)test/%.$(O): $(srcroot)test/%.c 1.153 +$(CTESTOBJS): CPPFLAGS += -I$(objroot)test 1.154 +ifneq ($(IMPORTLIB),$(SO)) 1.155 +$(COBJS): CPPFLAGS += -DDLLEXPORT 1.156 +endif 1.157 + 1.158 +ifndef CC_MM 1.159 +# Dependencies 1.160 +HEADER_DIRS = $(srcroot)include/jemalloc/internal \ 1.161 + $(objroot)include/jemalloc $(objroot)include/jemalloc/internal 1.162 +HEADERS = $(wildcard $(foreach dir,$(HEADER_DIRS),$(dir)/*.h)) 1.163 +$(COBJS) $(CPICOBJS) $(CTESTOBJS): $(HEADERS) 1.164 +$(CTESTOBJS): $(objroot)test/jemalloc_test.h 1.165 +endif 1.166 + 1.167 +$(COBJS) $(CPICOBJS) $(CTESTOBJS): %.$(O): 1.168 + @mkdir -p $(@D) 1.169 + $(CC) $(CFLAGS) -c $(CPPFLAGS) $(CTARGET) $< 1.170 +ifdef CC_MM 1.171 + @$(CC) -MM $(CPPFLAGS) -MT $@ -o $(@:%.$(O)=%.d) $< 1.172 +endif 1.173 + 1.174 +ifneq ($(SOREV),$(SO)) 1.175 +%.$(SO) : %.$(SOREV) 1.176 + @mkdir -p $(@D) 1.177 + ln -sf $(<F) $@ 1.178 +endif 1.179 + 1.180 +$(objroot)lib/$(LIBJEMALLOC).$(SOREV) : $(if $(PIC_CFLAGS),$(CPICOBJS),$(COBJS)) 1.181 + @mkdir -p $(@D) 1.182 + $(CC) $(DSO_LDFLAGS) $(call RPATH,$(RPATH_EXTRA)) $(LDTARGET) $+ $(LDFLAGS) $(LIBS) $(EXTRA_LDFLAGS) 1.183 + 1.184 +$(objroot)lib/$(LIBJEMALLOC)_pic.$(A) : $(CPICOBJS) 1.185 +$(objroot)lib/$(LIBJEMALLOC).$(A) : $(COBJS) 1.186 +$(objroot)lib/$(LIBJEMALLOC)_s.$(A) : $(COBJS) 1.187 + 1.188 +$(STATIC_LIBS): 1.189 + @mkdir -p $(@D) 1.190 + $(MKLIB) $+ 1.191 + 1.192 +$(objroot)test/bitmap$(EXE): $(objroot)src/bitmap.$(O) 1.193 + 1.194 +$(objroot)test/%$(EXE): $(objroot)test/%.$(O) $(objroot)src/util.$(O) $(DSOS) 1.195 + @mkdir -p $(@D) 1.196 + $(CC) $(LDTARGET) $(filter %.$(O),$^) $(call RPATH,$(objroot)lib) $(objroot)lib/$(LIBJEMALLOC).$(IMPORTLIB) $(filter -lpthread,$(LIBS)) $(EXTRA_LDFLAGS) 1.197 + 1.198 +build_lib_shared: $(DSOS) 1.199 +build_lib_static: $(STATIC_LIBS) 1.200 +build: build_lib_shared build_lib_static 1.201 + 1.202 +install_bin: 1.203 + install -d $(BINDIR) 1.204 + @for b in $(BINS); do \ 1.205 + echo "install -m 755 $$b $(BINDIR)"; \ 1.206 + install -m 755 $$b $(BINDIR); \ 1.207 +done 1.208 + 1.209 +install_include: 1.210 + install -d $(INCLUDEDIR)/jemalloc 1.211 + @for h in $(CHDRS); do \ 1.212 + echo "install -m 644 $$h $(INCLUDEDIR)/jemalloc"; \ 1.213 + install -m 644 $$h $(INCLUDEDIR)/jemalloc; \ 1.214 +done 1.215 + 1.216 +install_lib_shared: $(DSOS) 1.217 + install -d $(LIBDIR) 1.218 + install -m 755 $(objroot)lib/$(LIBJEMALLOC).$(SOREV) $(LIBDIR) 1.219 +ifneq ($(SOREV),$(SO)) 1.220 + ln -sf $(LIBJEMALLOC).$(SOREV) $(LIBDIR)/$(LIBJEMALLOC).$(SO) 1.221 +endif 1.222 + 1.223 +install_lib_static: $(STATIC_LIBS) 1.224 + install -d $(LIBDIR) 1.225 + @for l in $(STATIC_LIBS); do \ 1.226 + echo "install -m 755 $$l $(LIBDIR)"; \ 1.227 + install -m 755 $$l $(LIBDIR); \ 1.228 +done 1.229 + 1.230 +install_lib: install_lib_shared install_lib_static 1.231 + 1.232 +install_doc_html: 1.233 + install -d $(DATADIR)/doc/jemalloc$(install_suffix) 1.234 + @for d in $(DOCS_HTML); do \ 1.235 + echo "install -m 644 $$d $(DATADIR)/doc/jemalloc$(install_suffix)"; \ 1.236 + install -m 644 $$d $(DATADIR)/doc/jemalloc$(install_suffix); \ 1.237 +done 1.238 + 1.239 +install_doc_man: 1.240 + install -d $(MANDIR)/man3 1.241 + @for d in $(DOCS_MAN3); do \ 1.242 + echo "install -m 644 $$d $(MANDIR)/man3"; \ 1.243 + install -m 644 $$d $(MANDIR)/man3; \ 1.244 +done 1.245 + 1.246 +install_doc: install_doc_html install_doc_man 1.247 + 1.248 +install: install_bin install_include install_lib install_doc 1.249 + 1.250 +tests: $(CTESTS:$(srcroot)%.c=$(objroot)%$(EXE)) 1.251 + 1.252 +check: tests 1.253 + @mkdir -p $(objroot)test 1.254 + @$(SHELL) -c 'total=0; \ 1.255 + failures=0; \ 1.256 + echo "========================================="; \ 1.257 + for t in $(CTESTS:$(srcroot)%.c=$(objroot)%); do \ 1.258 + total=`expr $$total + 1`; \ 1.259 + /bin/echo -n "$${t} ... "; \ 1.260 + $(TEST_LIBRARY_PATH) $${t}$(EXE) $(abs_srcroot) \ 1.261 + $(abs_objroot) > $(objroot)$${t}.out 2>&1; \ 1.262 + if test -e "$(srcroot)$${t}.exp"; then \ 1.263 + diff -w -u $(srcroot)$${t}.exp \ 1.264 + $(objroot)$${t}.out >/dev/null 2>&1; \ 1.265 + fail=$$?; \ 1.266 + if test "$${fail}" -eq "1" ; then \ 1.267 + failures=`expr $${failures} + 1`; \ 1.268 + echo "*** FAIL ***"; \ 1.269 + else \ 1.270 + echo "pass"; \ 1.271 + fi; \ 1.272 + else \ 1.273 + echo "*** FAIL *** (.exp file is missing)"; \ 1.274 + failures=`expr $${failures} + 1`; \ 1.275 + fi; \ 1.276 + done; \ 1.277 + echo "========================================="; \ 1.278 + echo "Failures: $${failures}/$${total}"' 1.279 + 1.280 +clean: 1.281 + rm -f $(COBJS) 1.282 + rm -f $(CPICOBJS) 1.283 + rm -f $(COBJS:%.$(O)=%.d) 1.284 + rm -f $(CPICOBJS:%.$(O)=%.d) 1.285 + rm -f $(CTESTOBJS:%.$(O)=%$(EXE)) 1.286 + rm -f $(CTESTOBJS) 1.287 + rm -f $(CTESTOBJS:%.$(O)=%.d) 1.288 + rm -f $(CTESTOBJS:%.$(O)=%.out) 1.289 + rm -f $(DSOS) $(STATIC_LIBS) 1.290 + 1.291 +distclean: clean 1.292 + rm -rf $(objroot)autom4te.cache 1.293 + rm -f $(objroot)config.log 1.294 + rm -f $(objroot)config.status 1.295 + rm -f $(objroot)config.stamp 1.296 + rm -f $(cfghdrs_out) 1.297 + rm -f $(cfgoutputs_out) 1.298 + 1.299 +relclean: distclean 1.300 + rm -f $(objroot)configure 1.301 + rm -f $(srcroot)VERSION 1.302 + rm -f $(DOCS_HTML) 1.303 + rm -f $(DOCS_MAN3) 1.304 + 1.305 +#=============================================================================== 1.306 +# Re-configuration rules. 1.307 + 1.308 +ifeq ($(enable_autogen), 1) 1.309 +$(srcroot)configure : $(srcroot)configure.ac 1.310 + cd ./$(srcroot) && $(AUTOCONF) 1.311 + 1.312 +$(objroot)config.status : $(srcroot)configure 1.313 + ./$(objroot)config.status --recheck 1.314 + 1.315 +$(srcroot)config.stamp.in : $(srcroot)configure.ac 1.316 + echo stamp > $(srcroot)config.stamp.in 1.317 + 1.318 +$(objroot)config.stamp : $(cfgoutputs_in) $(cfghdrs_in) $(srcroot)configure 1.319 + ./$(objroot)config.status 1.320 + @touch $@ 1.321 + 1.322 +# There must be some action in order for make to re-read Makefile when it is 1.323 +# out of date. 1.324 +$(cfgoutputs_out) $(cfghdrs_out) : $(objroot)config.stamp 1.325 + @true 1.326 +endif