server-skynet-source-3rd-je.../jemalloc/Makefile.in
2010-01-03 16:17:55 -08:00

153 lines
3.6 KiB
Makefile

# Clear out all vpaths, then set just one (default vpath) for the main build
# directory.
vpath
vpath % .
# Clear the default suffixes, so that built-in rules are not used.
.SUFFIXES :
SHELL := /bin/sh
CC := @CC@
# Configuration parameters.
BINDIR := @BINDIR@
INCLUDEDIR := @INCLUDEDIR@
LIBDIR := @LIBDIR@
MANDIR := @MANDIR@
# Build parameters.
CPPFLAGS := @CPPFLAGS@
CFLAGS := @CFLAGS@ -fPIC -DPIC
ifeq (macho, @abi@)
CFLAGS += -dynamic
endif
LDFLAGS := @LDFLAGS@
LIBS := @LIBS@
GDLIBS := @GDLIBS@
RPATH_EXTRA := @RPATH_EXTRA@
ifeq (macho, @abi@)
SO := dylib
else
SO := so
endif
REV := 0
# List of files to be installed.
BINS := @bins@
CHDRS := @srcroot@src/jemalloc.h @objroot@src/jemalloc_defs.h
CSRCS := @srcroot@src/jemalloc.c
DSOS := @objroot@lib/libjemalloc.so.$(REV) @objroot@lib/libjemalloc.so \
@objroot@lib/libjemalloc_pic.a
MAN3 := @objroot@doc/jemalloc.3
#
# Include generated dependency files.
#
-include $(CSRCS:@srcroot@%.c=@objroot@%.d)
.PHONY: all dist install check clean distclean relclean
# Default target.
all: $(DSOS) bins
@objroot@src/%.o: @srcroot@src/%.c
$(CC) $(CFLAGS) -c $(CPPFLAGS) -o $@ $<
@$(SHELL) -ec "$(CC) -MM $(CPPFLAGS) $< | sed \"s/\($(subst /,\/,$(notdir $(basename $@)))\)\.o\([ :]*\)/$(subst /,\/,$(strip $(dir $@)))\1.o \2/g\" > $(@:%.o=%.d)"
$(DSOS): $(CSRCS:@srcroot@%.c=@objroot@%.o)
@mkdir -p $(@D)
$(CC) -shared -o $@ $+ $(LDFLAGS) $(LIBS)
ln -sf libjemalloc.so.$(REV) lib/libjemalloc.so
ar crus @objroot@lib/libjemalloc_pic.a $+
bins: $(BINS)
@objroot@bin/mtrgraph: @objroot@src/mtrgraph.o
@mkdir -p $(@D)
$(CC) -o $@ $< $(LDFLAGS) $(LIBS) $(GDLIBS)
@objroot@bin/%: @objroot@src/%.o
@mkdir -p $(@D)
$(CC) -o $@ $< $(LDFLAGS) $(LIBS)
install:
install -d $(BINDIR)
@for b in $(BINS); do \
echo "install -m 755 $$b $(BINDIR)"; \
install -m 755 $$b $(BINDIR); \
done
install -d $(INCLUDEDIR)
@for h in $(CHDRS); do \
echo "install -m 644 $$h $(INCLUDEDIR)"; \
install -m 644 $$h $(INCLUDEDIR); \
done
install -d $(LIBDIR)
@for s in $(DSOS); do \
echo "install -m 755 $$s $(LIBDIR)"; \
install -m 755 $$s $(LIBDIR); \
done
install -d $(MANDIR)
@for m in $(MAN3); do \
echo "install -m 644 $$m $(MANDIR)/man3"; \
install -m 644 $$m $(MANDIR)/man3; \
done
check:
clean:
rm -f $(BINS)
rm -f $(BINS:@objroot@bin/%=@objroot@src/%.o)
rm -f $(BINS:@objroot@bin/%=@objroot@src/%.d)
rm -f $(CSRCS:@srcroot@%.c=@objroot@%.o)
rm -f $(CSRCS:@srcroot@%.c=@objroot@%.d)
rm -f $(DSOS)
distclean: clean
rm -f @objroot@config.log
rm -f @objroot@config.status
rm -f @objroot@cfghdrs.stamp
rm -f @objroot@cfgoutputs.stamp
rm -f @cfghdrs@
rm -f @cfgoutputs@
relclean: distclean
rm -rf @objroot@autom4te.cache
rm -f @objroot@configure
#===============================================================================
# Re-configuration rules.
ifeq (@enable_autogen@, 1)
@srcroot@configure : @srcroot@configure.ac
cd ./@srcroot@ && @AUTOCONF@
@objroot@config.status : @srcroot@configure
./@objroot@config.status --recheck
# cfghdrs rules.
@srcroot@cfghdrs.stamp.in : @srcroot@configure.ac
echo stamp > @srcroot@cfghdrs.stamp.in
@objroot@cfghdrs.stamp : $(patsubst %, %.in, @cfghdrs@) \
@srcroot@configure
./@objroot@config.status
@touch $@
@cfghdrs@ : @objroot@cfghdrs.stamp
# cfgoutputs rules.
@srcroot@cfgoutputs.stamp.in : @srcroot@configure.ac
echo stamp > @srcroot@cfgoutputs.stamp.in
@objroot@cfgoutputs.stamp : $(patsubst %, @srcroot@%.in, @cfgoutputs@) \
@srcroot@configure
./@objroot@config.status
@touch $@
# There must be some action in order for make to re-read Makefile when it is
# out of date.
@cfgoutputs@ : @objroot@cfgoutputs.stamp
@true
endif