# Skeleton Makefile for the GNU malloc code
#
+# Copyright (C) 1996-2009 Free Software Foundation, Inc.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
srcdir = @srcdir@
VPATH = .:@srcdir@
CC = @CC@
RANLIB = @RANLIB@
AR = @AR@
+ARFLAGS = @ARFLAGS@
RM = rm -f
CP = cp
MV = mv
-PROFILE_FLAGS =
+SHELL = @MAKE_SHELL@
+
+PROFILE_FLAGS = @PROFILE_FLAGS@
CFLAGS = @CFLAGS@
LOCAL_CFLAGS = @LOCAL_CFLAGS@
DEFS = @DEFS@
LOCAL_DEFS = @LOCAL_DEFS@
-INCLUDES = -I. -I../.. -I$(topdir) -I$(topdir)/lib
+LIBBUILD = ${BUILD_DIR}/lib
+
+BASHINCDIR = ${topdir}/include
+
+INTL_LIBSRC = ${topdir}/lib/intl
+INTL_BUILDDIR = ${LIBBUILD}/intl
+INTL_INC = @INTL_INC@
+LIBINTL_H = @LIBINTL_H@
+
+INCLUDES = -I. -I../.. -I$(topdir) -I$(BASHINCDIR) -I$(topdir)/lib $(INTL_INC)
CCFLAGS = ${PROFILE_FLAGS} ${INCLUDES} $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) \
$(CFLAGS) $(MALLOC_CFLAGS) $(CPPFLAGS)
$(CC) $(CCFLAGS) -c $<
MALLOC_SOURCE = malloc.c
-GMALLOC_SOURCE = gmalloc.c
-NMALLOC_SOURCE = nmalloc.c
STUB_SOURCE = stub.c
ALLOCA_SOURCE = alloca.c
MALLOC = @MALLOC@
ALLOCA = @ALLOCA@
-MALLOC_OBJS = malloc.o $(ALLOCA) stub.o
-GMALLOC_OBJS = gmalloc.o $(ALLOCA) stub.o
-NMALLOC_OBJS = nmalloc.o $(ALLOCA) stub.o
-NMALLOC2_OBJS = nmalloc2.o $(ALLOCA) stub.o
-NGMALLOC_OBJS = ngmalloc.o $(ALLOCA) stub.o
+MALLOC_OBJS = malloc.o $(ALLOCA) trace.o stats.o table.o watch.o
STUB_OBJS = $(ALLOCA) stub.o
-.PHONY: malloc gmalloc stubmalloc nmalloc ngmalloc nmalloc2
+.PHONY: malloc stubmalloc
all: malloc
malloc: ${MALLOC_OBJS}
${RM} libmalloc.a
- ${AR} cr libmalloc.a ${MALLOC_OBJS}
+ ${AR} ${ARFLAGS} libmalloc.a ${MALLOC_OBJS}
-test -n "$(RANLIB)" && $(RANLIB) libmalloc.a
-nmalloc: ${NMALLOC_OBJS}
- ${RM} libmalloc.a
- ${AR} cr libmalloc.a ${NMALLOC_OBJS}
- -test -n "$(RANLIB)" && $(RANLIB) libmalloc.a
-
-nmalloc2: ${NMALLOC2_OBJS}
- ${RM} libmalloc.a
- ${AR} cr libmalloc.a ${NMALLOC2_OBJS}
- -test -n "$(RANLIB)" && $(RANLIB) libmalloc.a
-
-gmalloc: ${GMALLOC_OBJS}
- ${RM} libmalloc.a
- ${AR} cr libmalloc.a ${GMALLOC_OBJS}
- -test -n "$(RANLIB)" && $(RANLIB) libmalloc.a
-
-ngmalloc: ${NGMALLOC_OBJS}
+stubmalloc: ${STUB_OBJS}
${RM} libmalloc.a
- ${AR} cr libmalloc.a ${NGMALLOC_OBJS}
+ ${AR} ${ARFLAGS} libmalloc.a ${STUB_OBJS}
-test -n "$(RANLIB)" && $(RANLIB) libmalloc.a
-stubmalloc: ${STUB_OBJS}
+alloca: ${ALLOCA}
${RM} libmalloc.a
- ${AR} cr libmalloc.a ${STUB_OBJS}
+ ${AR} ${ARFLAGS} libmalloc.a ${ALLOCA}
-test -n "$(RANLIB)" && $(RANLIB) libmalloc.a
-alloca.o: $(ALLOCA_SOURCE)
- $(CC) $(CCFLAGS) -c $(ALLOCA_SOURCE)
+alloca.o: $(srcdir)/$(ALLOCA_SOURCE)
+ $(CC) $(CCFLAGS) -c $(srcdir)/$(ALLOCA_SOURCE)
@- if test "$(ALLOCA_OBJECT)" != alloca.o ; then \
mv $(ALLOCA_OBJECT) alloca.o >/dev/null 2>&1 ; \
fi
distclean realclean maintainer-clean: clean
$(RM) Makefile
-malloc.o: malloc.c
-gmalloc.o: gmalloc.c
-
alloca.o: $(BUILD_DIR)/config.h
malloc.o: $(BUILD_DIR)/config.h $(topdir)/bashtypes.h getpagesize.h
-nmalloc.o: $(BUILD_DIR)/config.h $(topdir)/bashtypes.h getpagesize.h
-nmalloc2.o: $(BUILD_DIR)/config.h $(topdir)/bashtypes.h getpagesize.h
-xmalloc.o: $(BUILD_DIR)/config.h $(topdir)/ansi_stdlib.h
-gmalloc.o: $(BUILD_DIR)/config.h
+xmalloc.o: $(BUILD_DIR)/config.h $(BASHINCDIR)/ansi_stdlib.h
+trace.o: ${BUILD_DIR}/config.h
+table.o: ${BUILD_DIR}/config.h
+watch.o: ${BUILD_DIR}/config.h
+
+malloc.o: ${srcdir}/imalloc.h ${srcdir}/mstats.h
+malloc.o: ${srcdir}/table.h ${srcdir}/watch.h
+stats.o: ${srcdir}/imalloc.h ${srcdir}/mstats.h
+trace.o: ${srcdir}/imalloc.h
+table.o: ${srcdir}/imalloc.h ${srcdir}/table.h
+watch.o: ${srcdir}/imalloc.h ${srcdir}/watch.h
+
+malloc.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
+stats.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
+trace.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
+table.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
+watch.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
+
+# Rules for deficient makes, like SunOS and Solaris
+stub.o: stub.c
+malloc.o: malloc.c
+table.o: table.c
+trace.o: trace.c
+stats.o: stats.c
+watch.o: watch.c