2000-11-09 Kazu Hirata <kazu@hxi.com>
[external/binutils.git] / mmalloc / Makefile.in
1 # Copyright (C) 1992 Free Software Foundation, Inc.
2 # This file is part of the GNU C Library.
3
4 # The GNU C Library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Library General Public License as
6 # published by the Free Software Foundation; either version 2 of the
7 # License, or (at your option) any later version.
8
9 # The GNU C Library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # Library General Public License for more details.
13
14 # You should have received a copy of the GNU Library General Public
15 # License along with the GNU C Library; see the file COPYING.LIB.  If
16 # not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 # Boston, MA 02111-1307, USA.
18
19 #
20 # Makefile for mmalloc directory
21 #
22
23 # Directory containing source files.  Don't clean up the spacing,
24 # this exact string is matched for by the "configure" script.
25
26 VPATH = @srcdir@
27 srcdir = @srcdir@
28
29 prefix =        @prefix@
30 exec_prefix =   @exec_prefix@
31
32 bindir =        @bindir@
33 libdir =        @libdir@
34
35 datadir =       @datadir@
36 mandir =        @mandir@
37 man1dir =       $(mandir)/man1
38 man2dir =       $(mandir)/man2
39 man3dir =       $(mandir)/man3
40 man4dir =       $(mandir)/man4
41 man5dir =       $(mandir)/man5
42 man6dir =       $(mandir)/man6
43 man7dir =       $(mandir)/man7
44 man8dir =       $(mandir)/man8
45 man9dir =       $(mandir)/man9
46 infodir =       @infodir@
47 includedir =    @includedir@
48
49 SHELL =         @SHELL@
50
51 INSTALL =       @INSTALL@
52 INSTALL_PROGRAM=@INSTALL_PROGRAM@
53 INSTALL_DATA =  @INSTALL_DATA@
54
55 AR =            @AR@
56 AR_FLAGS =      qv
57 CFLAGS =        -g
58 MAKEINFO =      makeinfo
59 RANLIB =        @RANLIB@
60 RM =            rm
61
62 # where to find makeinfo
63 MAKEINFO=makeinfo
64
65 SET_TEXINPUTS = TEXINPUTS=${TEXIDIR}:.:$(srcdir):$(READLINE_DIR):$$TEXINPUTS
66
67 # The TeX formatter
68 TEX = tex
69
70 TARGETLIB =     libmmalloc.a
71
72 CFILES =        mcalloc.c mfree.c mmalloc.c mmcheck.c mmemalign.c mmstats.c \
73                 mmtrace.c mrealloc.c mvalloc.c mmap-sup.c attach.c detach.c \
74                 keys.c sbrk-sup.c mm.c
75
76 HFILES =        mmalloc.h
77
78 OFILES =        mcalloc.o mfree.o mmalloc.o mmcheck.o mmemalign.o mmstats.o \
79                 mmtrace.o mrealloc.o mvalloc.o mmap-sup.o attach.o detach.o \
80                 keys.o sbrk-sup.o
81
82 DEFS =          @DEFS@
83
84 # The current default is to build a single object module with all the mmalloc
85 # functions.  To build a more traditional library, flip this macro definition.
86 #TARGETOBJS =   $(OFILES)
87 TARGETOBJS =    mm.o
88
89 .c.o:
90                 $(CC) -c $(CFLAGS) $(DEFS) -I. -I$(srcdir)/../include $<
91
92 # Do we want/need any config overrides?
93 #        
94
95 STAGESTUFF =    $(TARGETLIB) *.o
96
97 all:            $(TARGETLIB)
98
99 info: mmalloc.info
100 dvi: mmalloc.dvi
101 clean-info:
102 installcheck:
103
104 mmalloc.info: mmalloc.texi
105         $(MAKEINFO) -I $(srcdir) -o ./mmalloc.info mmalloc.texi
106
107 # This file doesn't need texindex currently.
108 mmalloc.dvi: mmalloc.texi
109         $(SET_TEXINPUTS) $(TEX) mmalloc.texi
110         rm -f mmalloc.?? mmalloc.??s mmalloc.log mmalloc.aux mmalloc.toc
111
112 install-info: info
113         $(SHELL) $(srcdir)/../mkinstalldirs $(infodir)
114         if test ! -f mmalloc.info ; then cd $(srcdir); fi; \
115         $(INSTALL_DATA) mmalloc.info $(infodir)/mmalloc.info
116         @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
117           echo " install-info --info-dir=$(infodir) $(infodir)/mmalloc.info";\
118           install-info --info-dir=$(infodir) $(infodir)/mmalloc.info || :;\
119         else : ; fi
120
121 check: test1.c
122 #       $(CC) -g $(srcdir)/test1.c libmmalloc.a
123 # This loses for Canadian cross (building mmalloc with a cross-compiler).
124 # There is probably some dejagnu-ish solution (such as what we are doing
125 # for gdb, perhaps).
126 #       ./a.out
127
128 install:        all
129                 $(INSTALL_DATA) $(TARGETLIB) $(libdir)/$(TARGETLIB)n
130                 $(RANLIB) $(libdir)/$(TARGETLIB)n
131                 mv -f $(libdir)/$(TARGETLIB)n $(libdir)/$(TARGETLIB)
132
133 $(TARGETLIB):   $(TARGETOBJS)
134                 $(RM) -rf $@
135                 $(AR) $(AR_FLAGS) $@ $(TARGETOBJS)
136                 $(RANLIB) $@
137
138 $(OFILES) :     $(HFILES) Makefile
139
140 mm.o:           $(HFILES) $(CFILES)
141                 $(CC) -c $(CFLAGS) $(DEFS) -I. -I$(srcdir)/../include $(srcdir)/mm.c
142
143 .always.:
144 # Do nothing.
145
146 .PHONEY: all etags tags ls clean stage1 stage2 .always.
147
148 stage1:         force
149                 -mkdir stage1
150                 -mv -f $(STAGESTUFF) stage1
151
152 stage2:         force
153                 -mkdir stage2
154                 -mv -f $(STAGESTUFF) stage2
155
156 stage3:         force
157                 -mkdir stage3
158                 -mv -f $(STAGESTUFF) stage3
159
160 stage4:         force
161                 -mkdir stage4
162                 -mv -f $(STAGESTUFF) stage4
163
164 against=stage2
165
166 comparison:     force
167                 for i in *.o ; do cmp $$i $(against)/$$i || exit 1 ; done
168
169 de-stage1:      force
170                 -(cd stage1 ; mv -f * ..)
171                 -rmdir stage1
172
173 de-stage2:      force
174                 -(cd stage2 ; mv -f * ..)
175                 -rmdir stage2
176
177 de-stage3:      force
178                 -(cd stage3 ; mv -f * ..)
179                 -rmdir stage3
180
181 de-stage4:      force
182                 -(cd stage4 ; mv -f * ..)
183                 -rmdir stage4
184
185 etags tags:     TAGS
186
187 TAGS:           $(CFILES)
188         etags `for i in $(HFILES) $(CFILES); do echo $(srcdir)/$$i ; done`
189
190 ls:
191                 @echo Makefile $(HFILES) $(CFILES)
192
193 # Need to deal with profiled libraries, too.
194
195 mostlyclean clean:
196                 rm -f *.a *.o core errs *~ \#* TAGS *.E a.out errors 
197
198 distclean:      clean 
199                 rm -f config.cache config.log config.status
200                 rm -f Makefile depend
201
202 maintainer-clean realclean: distclean clean
203                 @echo "This command is intended for maintainers to use;"
204                 @echo "it deletes files that may require special tools to rebuild."
205                 rm -f mmalloc.info
206
207 force:
208
209 Makefile:       Makefile.in config.status
210                 $(SHELL) config.status
211
212 config.status:  configure
213                 $(SHELL) config.status --recheck