1# Skeleton Makefile for the GNU malloc code 2# 3# 4# Copyright (C) 1996-2005 Free Software Foundation, Inc. 5 6# This program is free software; you can redistribute it and/or modify 7# it under the terms of the GNU General Public License as published by 8# the Free Software Foundation; either version 2, or (at your option) 9# any later version. 10 11# This program is distributed in the hope that it will be useful, 12# but WITHOUT ANY WARRANTY; without even the implied warranty of 13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14# GNU General Public License for more details. 15 16# You should have received a copy of the GNU General Public License 17# along with this program; if not, write to the Free Software 18# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. 19 20srcdir = @srcdir@ 21VPATH = .:@srcdir@ 22topdir = @top_srcdir@ 23BUILD_DIR = @BUILD_DIR@ 24 25INSTALL = @INSTALL@ 26INSTALL_PROGRAM = @INSTALL_PROGRAM@ 27INSTALL_DATA = @INSTALL_DATA@ 28 29CC = @CC@ 30RANLIB = @RANLIB@ 31AR = @AR@ 32ARFLAGS = @ARFLAGS@ 33RM = rm -f 34CP = cp 35MV = mv 36 37SHELL = @MAKE_SHELL@ 38 39PROFILE_FLAGS = @PROFILE_FLAGS@ 40 41CFLAGS = @CFLAGS@ 42LOCAL_CFLAGS = @LOCAL_CFLAGS@ 43CPPFLAGS = @CPPFLAGS@ 44LDFLAGS = @LDFLAGS@ 45 46DEFS = @DEFS@ 47LOCAL_DEFS = @LOCAL_DEFS@ 48 49LIBBUILD = ${BUILD_DIR}/lib 50 51BASHINCDIR = ${topdir}/include 52 53INTL_LIBSRC = ${topdir}/lib/intl 54INTL_BUILDDIR = ${LIBBUILD}/intl 55INTL_INC = @INTL_INC@ 56LIBINTL_H = @LIBINTL_H@ 57 58INCLUDES = -I. -I../.. -I$(topdir) -I$(BASHINCDIR) -I$(topdir)/lib $(INTL_INC) 59 60CCFLAGS = ${PROFILE_FLAGS} ${INCLUDES} $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) \ 61 $(CFLAGS) $(MALLOC_CFLAGS) $(CPPFLAGS) 62 63.c.o: 64 $(CC) $(CCFLAGS) -c $< 65 66.s.o: 67 $(CC) $(CCFLAGS) -c $< 68 69MALLOC_SOURCE = malloc.c 70STUB_SOURCE = stub.c 71 72ALLOCA_SOURCE = alloca.c 73ALLOCA_OBJECT = alloca.o 74 75MALLOC_SRC = @MALLOC_SRC@ 76MALLOC = @MALLOC@ 77ALLOCA = @ALLOCA@ 78 79MALLOC_OBJS = malloc.o $(ALLOCA) trace.o stats.o table.o watch.o 80STUB_OBJS = $(ALLOCA) stub.o 81 82.PHONY: malloc stubmalloc 83 84all: malloc 85 86malloc: ${MALLOC_OBJS} 87 ${RM} libmalloc.a 88 ${AR} ${ARFLAGS} libmalloc.a ${MALLOC_OBJS} 89 -test -n "$(RANLIB)" && $(RANLIB) libmalloc.a 90 91stubmalloc: ${STUB_OBJS} 92 ${RM} libmalloc.a 93 ${AR} ${ARFLAGS} libmalloc.a ${STUB_OBJS} 94 -test -n "$(RANLIB)" && $(RANLIB) libmalloc.a 95 96alloca: ${ALLOCA} 97 ${RM} libmalloc.a 98 ${AR} ${ARFLAGS} libmalloc.a ${ALLOCA} 99 -test -n "$(RANLIB)" && $(RANLIB) libmalloc.a 100 101alloca.o: $(srcdir)/$(ALLOCA_SOURCE) 102 $(CC) $(CCFLAGS) -c $(srcdir)/$(ALLOCA_SOURCE) 103 @- if test "$(ALLOCA_OBJECT)" != alloca.o ; then \ 104 mv $(ALLOCA_OBJECT) alloca.o >/dev/null 2>&1 ; \ 105 fi 106 107mostlyclean clean: 108 $(RM) *.o libmalloc.a 109 110distclean realclean maintainer-clean: clean 111 $(RM) Makefile 112 113alloca.o: $(BUILD_DIR)/config.h 114malloc.o: $(BUILD_DIR)/config.h $(topdir)/bashtypes.h getpagesize.h 115xmalloc.o: $(BUILD_DIR)/config.h $(BASHINCDIR)/ansi_stdlib.h 116trace.o: ${BUILD_DIR}/config.h 117table.o: ${BUILD_DIR}/config.h 118watch.o: ${BUILD_DIR}/config.h 119 120malloc.o: ${srcdir}/imalloc.h ${srcdir}/mstats.h 121malloc.o: ${srcdir}/table.h ${srcdir}/watch.h 122stats.o: ${srcdir}/imalloc.h ${srcdir}/mstats.h 123trace.o: ${srcdir}/imalloc.h 124table.o: ${srcdir}/imalloc.h ${srcdir}/table.h 125watch.o: ${srcdir}/imalloc.h ${srcdir}/watch.h 126 127malloc.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h 128stats.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h 129trace.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h 130table.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h 131watch.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h 132 133# Rules for deficient makes, like SunOS and Solaris 134stub.o: stub.c 135malloc.o: malloc.c 136table.o: table.c 137trace.o: trace.c 138stats.o: stats.c 139watch.o: watch.c 140