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