summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Evans <je@fb.com>2012-03-03 00:38:37 (GMT)
committerJason Evans <je@fb.com>2012-03-03 00:38:37 (GMT)
commit7b398aca3bfa558774548ffed6c1a8baba46cc79 (patch)
treef4c0d71d5aaad88ba0f0f7a593d678ac75ff5144
parent84f7cdb0c588322dfd50a26497fc1cb54b792018 (diff)
downloadjemalloc-7b398aca3bfa558774548ffed6c1a8baba46cc79.zip
jemalloc-7b398aca3bfa558774548ffed6c1a8baba46cc79.tar.gz
jemalloc-7b398aca3bfa558774548ffed6c1a8baba46cc79.tar.bz2
Add fine-grained build/install targets.
-rw-r--r--INSTALL13
-rw-r--r--Makefile.in27
2 files changed, 31 insertions, 9 deletions
diff --git a/INSTALL b/INSTALL
index 6e32d71..92cd085 100644
--- a/INSTALL
+++ b/INSTALL
@@ -169,11 +169,24 @@ PATH="?"
=== Advanced compilation =======================================================
+To build only parts of jemalloc, use the following targets:
+
+ build_lib_shared
+ build_lib_static
+ build_lib
+ build_doc_html
+ build_doc_man
+ build_doc
+
To install only parts of jemalloc, use the following targets:
install_bin
install_include
+ install_lib_shared
+ install_lib_static
install_lib
+ install_doc_html
+ install_doc_man
install_doc
To clean up build results to varying degrees, use the following make targets:
diff --git a/Makefile.in b/Makefile.in
index ca4365e..0accf10 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -76,9 +76,9 @@ CTESTS := @srcroot@test/allocated.c @srcroot@test/allocm.c \
.SECONDARY : $(CTESTS:@srcroot@%.c=@objroot@%.o)
# Default target.
-all: $(DSOS) $(STATIC_LIBS)
+all: build
-dist: doc
+dist: build_doc
@srcroot@doc/%.html : @objroot@doc/%.xml @srcroot@doc/stylesheet.xsl @objroot@doc/html.xsl
@XSLTPROC@ -o $@ @objroot@doc/html.xsl $<
@@ -86,9 +86,9 @@ dist: doc
@srcroot@doc/%.3 : @objroot@doc/%.xml @srcroot@doc/stylesheet.xsl @objroot@doc/manpages.xsl
@XSLTPROC@ -o $@ @objroot@doc/manpages.xsl $<
-doc_html: $(DOCS_HTML)
-doc_man: $(DOCS_MAN3)
-doc: $(DOCS)
+build_doc_html: $(DOCS_HTML)
+build_doc_man: $(DOCS_MAN3)
+build_doc: $(DOCS)
#
# Include generated dependency files.
@@ -140,6 +140,10 @@ else
$(CC) -o $@ $< -L@objroot@lib -ljemalloc@install_suffix@ -lpthread
endif
+build_lib_shared: $(DSOS)
+build_lib_static: $(STATIC_LIBS)
+build: build_lib_shared build_lib_static
+
install_bin:
install -d $(BINDIR)
@for b in $(BINS); do \
@@ -154,28 +158,33 @@ install_include:
install -m 644 $$h $(INCLUDEDIR)/jemalloc; \
done
-install_lib: $(DSOS) $(STATIC_LIBS)
+install_lib_shared: $(DSOS)
install -d $(LIBDIR)
install -m 755 @objroot@lib/libjemalloc@install_suffix@.$(SO).$(REV) $(LIBDIR)
ln -sf libjemalloc@install_suffix@.$(SO).$(REV) $(LIBDIR)/libjemalloc@install_suffix@.$(SO)
+
+install_lib_static: $(DSOS) $(STATIC_LIBS)
+ install -d $(LIBDIR)
install -m 755 @objroot@lib/libjemalloc@install_suffix@_pic.a $(LIBDIR)
install -m 755 @objroot@lib/libjemalloc@install_suffix@.a $(LIBDIR)
-install_html:
+install_lib: install_lib_shared install_lib_static
+
+install_doc_html:
install -d $(DATADIR)/doc/jemalloc@install_suffix@
@for d in $(DOCS_HTML); do \
echo "install -m 644 $$d $(DATADIR)/doc/jemalloc@install_suffix@"; \
install -m 644 $$d $(DATADIR)/doc/jemalloc@install_suffix@; \
done
-install_man:
+install_doc_man:
install -d $(MANDIR)/man3
@for d in $(DOCS_MAN3); do \
echo "install -m 644 $$d $(MANDIR)/man3"; \
install -m 644 $$d $(MANDIR)/man3; \
done
-install_doc: install_html install_man
+install_doc: install_doc_html install_doc_man
install: install_bin install_include install_lib install_doc