1 # Skeleton Makefile for the GNU malloc code
4 # Copyright (C) 1996 Free Software Foundation, Inc.
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)
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.
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.
23 BUILD_DIR = @BUILD_DIR@
26 INSTALL_PROGRAM = @INSTALL_PROGRAM@
27 INSTALL_DATA = @INSTALL_DATA@
42 LOCAL_CFLAGS = @LOCAL_CFLAGS@
47 LOCAL_DEFS = @LOCAL_DEFS@
49 BASHINCDIR = ${topdir}/include
51 INCLUDES = -I. -I../.. -I$(topdir) -I$(BASHINCDIR) -I$(topdir)/lib
53 CCFLAGS = ${PROFILE_FLAGS} ${INCLUDES} $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) \
54 $(CFLAGS) $(MALLOC_CFLAGS) $(CPPFLAGS)
57 $(CC) $(CCFLAGS) -c $<
60 $(CC) $(CCFLAGS) -c $<
62 MALLOC_SOURCE = malloc.c
63 GMALLOC_SOURCE = gmalloc.c
64 NMALLOC_SOURCE = nmalloc.c
67 ALLOCA_SOURCE = alloca.c
68 ALLOCA_OBJECT = alloca.o
70 MALLOC_SRC = @MALLOC_SRC@
74 MALLOC_OBJS = malloc.o $(ALLOCA) stub.o
75 GMALLOC_OBJS = gmalloc.o $(ALLOCA) stub.o
76 NMALLOC_OBJS = nmalloc.o $(ALLOCA) stub.o
77 NMALLOC2_OBJS = nmalloc2.o $(ALLOCA) stub.o
78 NGMALLOC_OBJS = ngmalloc.o $(ALLOCA) stub.o
79 STUB_OBJS = $(ALLOCA) stub.o
81 .PHONY: malloc gmalloc stubmalloc nmalloc ngmalloc nmalloc2
85 malloc: ${MALLOC_OBJS}
87 ${AR} ${ARFLAGS} libmalloc.a ${MALLOC_OBJS}
88 -test -n "$(RANLIB)" && $(RANLIB) libmalloc.a
90 nmalloc: ${NMALLOC_OBJS}
92 ${AR} ${ARFLAGS} libmalloc.a ${NMALLOC_OBJS}
93 -test -n "$(RANLIB)" && $(RANLIB) libmalloc.a
95 nmalloc2: ${NMALLOC2_OBJS}
97 ${AR} ${ARFLAGS} libmalloc.a ${NMALLOC2_OBJS}
98 -test -n "$(RANLIB)" && $(RANLIB) libmalloc.a
100 gmalloc: ${GMALLOC_OBJS}
102 ${AR} ${ARFLAGS} libmalloc.a ${GMALLOC_OBJS}
103 -test -n "$(RANLIB)" && $(RANLIB) libmalloc.a
105 ngmalloc: ${NGMALLOC_OBJS}
107 ${AR} ${ARFLAGS} libmalloc.a ${NGMALLOC_OBJS}
108 -test -n "$(RANLIB)" && $(RANLIB) libmalloc.a
110 stubmalloc: ${STUB_OBJS}
112 ${AR} ${ARFLAGS} libmalloc.a ${STUB_OBJS}
113 -test -n "$(RANLIB)" && $(RANLIB) libmalloc.a
115 alloca.o: $(srcdir)/$(ALLOCA_SOURCE)
116 $(CC) $(CCFLAGS) -c $(srcdir)/$(ALLOCA_SOURCE)
117 @- if test "$(ALLOCA_OBJECT)" != alloca.o ; then \
118 mv $(ALLOCA_OBJECT) alloca.o >/dev/null 2>&1 ; \
122 $(RM) *.o libmalloc.a
124 distclean realclean maintainer-clean: clean
127 alloca.o: $(BUILD_DIR)/config.h
128 malloc.o: $(BUILD_DIR)/config.h $(topdir)/bashtypes.h getpagesize.h
129 nmalloc.o: $(BUILD_DIR)/config.h $(topdir)/bashtypes.h getpagesize.h
130 nmalloc2.o: $(BUILD_DIR)/config.h $(topdir)/bashtypes.h getpagesize.h
131 xmalloc.o: $(BUILD_DIR)/config.h $(BASHINCDIR)/ansi_stdlib.h
132 gmalloc.o: $(BUILD_DIR)/config.h
134 # Rules for deficient makes, like SunOS and Solaris