]> git.ipfire.org Git - thirdparty/gcc.git/blame - libobjc/Makefile.in
Daily bump.
[thirdparty/gcc.git] / libobjc / Makefile.in
CommitLineData
61a0eea4 1# Makefile for GNU Objective C runtime library.
e23e7a91 2# Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004,
6bc9506f 3# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
265ab036 4
893d9197 5#This file is part of GCC.
265ab036 6
893d9197 7#GCC is free software; you can redistribute it and/or modify
265ab036 8#it under the terms of the GNU General Public License as published by
6bc9506f 9#the Free Software Foundation; either version 3, or (at your option)
265ab036 10#any later version.
11
893d9197 12#GCC is distributed in the hope that it will be useful,
265ab036 13#but WITHOUT ANY WARRANTY; without even the implied warranty of
14#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15#GNU General Public License for more details.
16
17#You should have received a copy of the GNU General Public License
6bc9506f 18#along with GCC; see the file COPYING3. If not see
19#<http://www.gnu.org/licenses/>.
265ab036 20
21#This was cribbed from the libchill, libiberty and libstdc++
22#Makefile.in files. Some of this stuff may be unnecessary and
23#worthless.
24
c86bfe45 25SHELL = @SHELL@
6ed57656 26MAKEOVERRIDES=
265ab036 27
28#### Start of system configuration section. ####
29
6ed57656 30srcdir = @glibcpp_srcdir@
31VPATH = @glibcpp_srcdir@
265ab036 32prefix = @prefix@
33exec_prefix = @exec_prefix@
9c4e05bc 34target_noncanonical = @target_noncanonical@
32ee7eb8 35gcc_version := $(shell cat $(srcdir)/../gcc/BASE-VER)
c1eb9e31 36host_subdir = @host_subdir@
6ed57656 37top_srcdir = @top_srcdir@
ff434425 38multi_basedir = @multi_basedir@
57a4c641 39toolexecdir = @toolexecdir@
85fe910a 40# Toolexecdir is used only by toolexeclibdir
7fc7cb73 41toolexeclibdir = @toolexeclibdir@
6ed57656 42
ce716239 43includedirname = @includedirname@
f90c9f0e 44libsuffix = @libsuffix@
166e6519 45
a16ff609 46extra_ldflags_libobjc = @extra_ldflags_libobjc@
47
6ed57656 48top_builddir = .
265ab036 49
cec41e68 50-include ../boehm-gc/threads.mk
7170e5e2 51
265ab036 52libdir = $(exec_prefix)/lib
9c4e05bc 53libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
265ab036 54
55# Multilib support variables.
56MULTISRCTOP =
57MULTIBUILDTOP =
58MULTIDIRS =
59MULTISUBDIR =
60MULTIDO = true
61MULTICLEAN = true
62
63# Not configured per top-level version, since that doesn't get passed
64# down at configure time, but overrridden by the top-level install
65# target.
66INSTALL = @INSTALL@
67INSTALL_PROGRAM = @INSTALL_PROGRAM@
68INSTALL_DATA = @INSTALL_DATA@
69
70AR = @AR@
71AR_FLAGS = rc
72
73RANLIB = @RANLIB@
74
75CC = @CC@
76CFLAGS = @CFLAGS@
c86bfe45 77WARN_CFLAGS = -W -Wall -Wwrite-strings -Wstrict-prototypes
c86bfe45 78ALL_CFLAGS = -I. -I$(srcdir) $(CPPFLAGS) $(DEFS) $(CFLAGS) $(WARN_CFLAGS) \
7f0dae42 79 -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions
265ab036 80
0f72a548 81# Libtool
82# The following strings describe the version of the obj-C library
83# begin compiled and compatibility issues.
84# Please refer to Libtool documentation about how to manage these
85# numbers.
f01fd551 86LIBOBJC_VERSION = @VERSION@
87LIBOBJC_GC_VERSION = @VERSION@
60598a3a 88LIBTOOL = @LIBTOOL@ $(LIBTOOLFLAGS)
0f72a548 89LIBTOOL_COMPILE = $(LIBTOOL) --mode=compile
90LIBTOOL_LINK = $(LIBTOOL) --mode=link
91LIBTOOL_INSTALL = $(LIBTOOL) --mode=install
92LIBTOOL_CLEAN = $(LIBTOOL) --mode=clean
93#LIBTOOL_UNINSTALL = $(LIBTOOL) --mode=uninstall
94
e23e7a91 95OBJC_GCFLAGS=-DOBJC_WITH_GC=1
e23e7a91 96OBJC_BOEHM_GC=@OBJC_BOEHM_GC@
97OBJC_BOEHM_GC_INCLUDES=@OBJC_BOEHM_GC_INCLUDES@
7170e5e2 98OBJC_BOEHM_GC_LIBS=../boehm-gc/libgcjgc_convenience.la $(thread_libs_and_flags)
e23e7a91 99
09fa2580 100INCLUDES = -I$(srcdir)/objc -I$(srcdir)/$(MULTISRCTOP)../gcc \
c1eb9e31 101 -I$(srcdir)/$(MULTISRCTOP)../gcc/config \
102 -I$(MULTIBUILDTOP)../../$(host_subdir)/gcc \
e23e7a91 103 -I$(srcdir)/$(MULTISRCTOP)../include \
104 $(OBJC_BOEHM_GC_INCLUDES)
265ab036 105
265ab036 106
107.SUFFIXES:
0f72a548 108.SUFFIXES: .c .m .lo
265ab036 109
0f72a548 110.c.lo:
111 $(LIBTOOL_COMPILE) $(CC) -c $(ALL_CFLAGS) $(INCLUDES) $<
265ab036 112
0f72a548 113.m.lo:
114 $(LIBTOOL_COMPILE) $(CC) -c $(ALL_CFLAGS) $(INCLUDES) $<
265ab036 115
7ca6de5f 116# Flags to pass to a recursive make.
117FLAGS_TO_PASS = \
118 "AR=$(AR)" \
119 "AR_FLAGS=$(AR_FLAGS)" \
120 "CC=$(CC)" \
121 "CFLAGS=$(CFLAGS)" \
71aad3b8 122 "DESTDIR=$(DESTDIR)" \
7ca6de5f 123 "LIBCFLAGS=$(LIBCFLAGS)" \
124 "EXTRA_OFILES=$(EXTRA_OFILES)" \
125 "HDEFINES=$(HDEFINES)" \
126 "INSTALL=$(INSTALL)" \
127 "INSTALL_DATA=$(INSTALL_DATA)" \
128 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
129 "LDFLAGS=$(LDFLAGS)" \
0f72a548 130 "LIBTOOL=$(LIBTOOL)" \
7ca6de5f 131 "LOADLIBES=$(LOADLIBES)" \
132 "PICFLAG=$(PICFLAG)" \
133 "RANLIB=$(RANLIB)" \
f92ff492 134 "SHELL=$(SHELL)" \
135 "prefix=$(prefix)" \
136 "exec_prefix=$(exec_prefix)" \
137 "libdir=$(libdir)" \
138 "libsubdir=$(libsubdir)" \
139 "tooldir=$(tooldir)"
7ca6de5f 140
f90c9f0e 141all: libobjc$(libsuffix).la $(OBJC_BOEHM_GC)
5f7912d8 142 : $(MAKE) ; exec $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all
265ab036 143
01eb761e 144# User-visible header files, from the objc/ directory
265ab036 145
344bfd09 146OBJC_H = \
147 objc.h \
148 objc-exception.h \
149 \
150 message.h \
151 hash.h \
152 objc-list.h \
153 sarray.h \
154 objc-api.h \
155 NXConstStr.h \
156 Object.h \
157 Protocol.h \
158 encoding.h \
159 typedstream.h \
160 thr.h \
161 objc-decls.h
265ab036 162
01eb761e 163# User-visible header files containing deprecated APIs, from the
164# objc/deprecated directory
165
344bfd09 166OBJC_DEPRECATED_H = \
167 MetaClass.h \
168 Object.h \
169 STR.h \
170 objc_unexpected_exception.h \
171 struct_objc_class.h \
172 struct_objc_protocol.h \
173 struct_objc_selector.h \
174 typedstream.h
01eb761e 175
265ab036 176# Modules that comprise the runtime library.
177
0f72a548 178OBJS = archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo \
179 misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo \
180 Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo \
a5974a58 181 exception.lo
265ab036 182
0f72a548 183OBJS_GC = archive_gc.lo class_gc.lo encoding_gc.lo gc_gc.lo hash_gc.lo \
184 init_gc.lo linking_gc.lo misc_gc.lo nil_method_gc.lo \
185 NXConstStr_gc.lo Object_gc.lo objects_gc.lo Protocol_gc.lo \
186 sarray_gc.lo selector_gc.lo sendmsg_gc.lo thr_gc.lo \
6ceebb84 187 exception_gc.lo
265ab036 188
fa757077 189runtime-info.h:
ad911efc 190 echo "" > tmp-runtime.m
0f72a548 191 echo "/* This file is automatically generated */" > $@
5148359d 192 $(CC) $(MULTIFLAGS) -print-objc-runtime-info -S tmp-runtime.m >> $@
ad911efc 193 rm -f tmp-runtime.m tmp-runtime.s
265ab036 194
0f72a548 195archive_gc.lo: archive.c
aaba593f 196 $(LIBTOOL_COMPILE) $(CC) -Wno-deprecated-declarations -c -o $@ $(ALL_CFLAGS) \
197 $(OBJC_GCFLAGS) $(INCLUDES) $<
198
199archive.lo: archive.c
200 $(LIBTOOL_COMPILE) $(CC) -Wno-deprecated-declarations -c $(ALL_CFLAGS) \
0f72a548 201 $(INCLUDES) $<
265ab036 202
0f72a548 203class_gc.lo: class.c
204 $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
205 $(INCLUDES) $<
265ab036 206
0f72a548 207encoding_gc.lo: encoding.c
208 $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
209 $(INCLUDES) $<
265ab036 210
0f72a548 211gc.lo: gc.c
212 $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(INCLUDES) $<
265ab036 213
0f72a548 214gc_gc.lo: gc.c
215 $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
216 $(INCLUDES) $<
265ab036 217
0f72a548 218hash_gc.lo: hash.c
219 $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
220 $(INCLUDES) $<
265ab036 221
0f72a548 222init_gc.lo: init.c
223 $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
224 $(INCLUDES) $<
265ab036 225
0f72a548 226linking.lo: linking.m
227 $(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
228 $(INCLUDES) $<
265ab036 229
0f72a548 230linking_gc.lo: linking.m
231 $(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
232 $(OBJC_GCFLAGS) $(INCLUDES) $<
265ab036 233
0f72a548 234misc_gc.lo: misc.c
235 $(LIBTOOL_COMPILE) $(CC) -c $(ALL_CFLAGS) -o $@ $(OBJC_GCFLAGS) \
236 $(INCLUDES) $<
265ab036 237
0f72a548 238nil_method_gc.lo: nil_method.c
239 $(LIBTOOL_COMPILE) $(CC) -c $(ALL_CFLAGS) -o $@ $(OBJC_GCFLAGS) \
240 $(INCLUDES) $<
265ab036 241
0f72a548 242NXConstStr.lo: NXConstStr.m
243 $(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
244 $(INCLUDES) $<
265ab036 245
0f72a548 246NXConstStr_gc.lo: NXConstStr.m
247 $(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
248 $(OBJC_GCFLAGS) $(INCLUDES) $<
265ab036 249
aaba593f 250# -Wno-deprecated-declarations is for the objc/typedstream.h functions.
0f72a548 251Object.lo: Object.m
aaba593f 252 $(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -Wno-deprecated-declarations \
253 -c -o $@ $(ALL_CFLAGS) $(INCLUDES) $<
265ab036 254
aaba593f 255# -Wno-deprecated-declarations is for the objc/typedstream.h functions.
0f72a548 256Object_gc.lo: Object.m
aaba593f 257 $(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -Wno-deprecated-declarations \
258 -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
265ab036 259
0f72a548 260objects_gc.lo: objects.c
261 $(LIBTOOL_COMPILE) $(CC) -c $(ALL_CFLAGS) -o $@ $(OBJC_GCFLAGS) \
262 $(INCLUDES) $<
265ab036 263
0f72a548 264Protocol.lo: Protocol.m
265 $(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
266 $(INCLUDES) $<
265ab036 267
0f72a548 268Protocol_gc.lo: Protocol.m
269 $(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
270 $(OBJC_GCFLAGS) $(INCLUDES) $<
265ab036 271
0f72a548 272sarray_gc.lo: sarray.c
273 $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
274 $(INCLUDES) $<
265ab036 275
0f72a548 276selector_gc.lo: selector.c
277 $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
278 $(INCLUDES) $<
265ab036 279
0f72a548 280sendmsg.lo: sendmsg.c runtime-info.h
281 $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(INCLUDES) $<
265ab036 282
0f72a548 283sendmsg_gc.lo: sendmsg.c runtime-info.h
284 $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
285 $(INCLUDES) $<
265ab036 286
0f72a548 287thr_gc.lo: thr.c
288 $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
289 $(INCLUDES) $<
265ab036 290
a5974a58 291# -Wno-deprecated-declarations is to silence warnings from using
292# _objc_unexpected_exception.
2c5cfd29 293exception.lo: exception.c
98fde024 294 $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) \
a5974a58 295 -fexceptions -Wno-deprecated-declarations $(INCLUDES) $<
98fde024 296
297exception_gc.lo: exception.c
2c5cfd29 298 $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
a5974a58 299 -fexceptions -Wno-deprecated-declarations $(INCLUDES) $<
2c5cfd29 300
51f93521 301doc: info dvi pdf html
265ab036 302
cbb90fc8 303# No install-html or install-pdf support
e0f44d87 304.PHONY: install-html install-pdf install-info
ba0c10ab 305install-html:
cbb90fc8 306install-pdf:
e0f44d87 307install-info:
ba0c10ab 308
ac051731 309LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
310
f90c9f0e 311libobjc$(libsuffix).la: $(OBJS)
6ed57656 312 $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS) \
7fc7cb73 313 -rpath $(toolexeclibdir) \
ac051731 314 -version-info $(LIBOBJC_VERSION) $(extra_ldflags_libobjc) \
315 $(LTLDFLAGS)
265ab036 316
f90c9f0e 317libobjc_gc$(libsuffix).la: $(OBJS_GC)
7170e5e2 318 $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS_GC) $(OBJC_BOEHM_GC_LIBS) \
7fc7cb73 319 -rpath $(toolexeclibdir) \
ac051731 320 -version-info $(LIBOBJC_GC_VERSION) $(extra_ldflags_libobjc) \
321 $(LTLDFLAGS)
265ab036 322
6b515411 323info:
324dvi:
51f93521 325pdf:
6b515411 326html:
265ab036 327
328Makefile: Makefile.in config.status
329 $(SHELL) config.status
330
331config.status: configure
332 rm -f config.cache
333 CONFIG_SITE=no-such-file CC='$(CC)' AR='$(AR)' CFLAGS='$(CFLAGS)' \
334 CPPFLAGS='$(CPPFLAGS)' $(SHELL) config.status --recheck
335
a2655af1 336AUTOCONF = autoconf
337ACLOCAL = aclocal
338ACLOCAL_AMFLAGS = -I ../config -I ..
339aclocal_deps = \
340 $(srcdir)/../config/multi.m4 \
341 $(srcdir)/../config/override.m4 \
342 $(srcdir)/../config/proginstall.m4 \
343 $(srcdir)/../ltoptions.m4 \
344 $(srcdir)/../ltsugar.m4 \
345 $(srcdir)/../ltversion.m4 \
346 $(srcdir)/../lt~obsolete.m4 \
347 $(srcdir)/acinclude.m4
348
349$(srcdir)/configure: @MAINT@ configure.ac $(srcdir)/aclocal.m4
265ab036 350 rm -f config.cache
a2655af1 351 cd $(srcdir) && $(AUTOCONF)
352
353$(srcdir)/aclocal.m4: @MAINT@ $(aclocal_deps)
354 cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
265ab036 355
6ed57656 356install: install-libs install-headers
265ab036 357
358install-libs: installdirs
ff434425 359 $(SHELL) $(multi_basedir)/mkinstalldirs $(DESTDIR)$(toolexeclibdir)
f90c9f0e 360 $(LIBTOOL_INSTALL) $(INSTALL) libobjc$(libsuffix).la $(DESTDIR)$(toolexeclibdir);
0f72a548 361 if [ "$(OBJC_BOEHM_GC)" ]; then \
f90c9f0e 362 $(LIBTOOL_INSTALL) $(INSTALL) libobjc_gc$(libsuffix).la \
7fc7cb73 363 $(DESTDIR)$(toolexeclibdir);\
0f72a548 364 fi
6ed57656 365 $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO="$@"
7fc7cb73 366 @-$(LIBTOOL) --mode=finish $(DESTDIR)$(toolexeclibdir)
265ab036 367
368# Copy Objective C headers to installation include directory.
6ed57656 369install-headers:
ff434425 370 $(SHELL) $(multi_basedir)/mkinstalldirs $(DESTDIR)$(libsubdir)/$(includedirname)/objc
265ab036 371 for file in $(OBJC_H); do \
3c3646e7 372 realfile=$(srcdir)/objc/$${file}; \
ce716239 373 $(INSTALL_DATA) $${realfile} $(DESTDIR)$(libsubdir)/$(includedirname)/objc; \
265ab036 374 done
01eb761e 375 $(multi_basedir)/mkinstalldirs $(DESTDIR)$(libsubdir)/$(includedirname)/objc/deprecated
376 for file in $(OBJC_DEPRECATED_H); do \
377 realfile=$(srcdir)/objc/deprecated/$${file}; \
378 $(INSTALL_DATA) $${realfile} $(DESTDIR)$(libsubdir)/$(includedirname)/objc/deprecated; \
379 done
265ab036 380
381check uninstall install-strip dist installcheck installdirs:
382
383mostlyclean:
f90c9f0e 384 -$(LIBTOOL_CLEAN) rm -f libobjc$(libsuffix).la libobjc_gc$(libsuffix).la *.lo
0f72a548 385 -rm -f runtime-info.h tmp-runtime.s *.o *.lo libobjc* xforward \
51f93521 386 fflags *.aux *.cp *.dvi *.pdf *.fn *.info *.ky *.log *.pg \
265ab036 387 *.toc *.tp *.vr *.html libobj.exp
388 @$(MULTICLEAN) multi-clean DO=mostlyclean
389
390clean: mostlyclean
391 rm -f config.log
392 @$(MULTICLEAN) multi-clean DO=clean
393
394distclean: clean
395 @$(MULTICLEAN) multi-clean DO=distclean
396 rm -f config.cache config.status Makefile configure
397
398maintainer-clean realclean: distclean
399
400.PHONY: mostlyclean clean distclean maintainer-clean all check uninstall \
401 install-strip dist installcheck installdirs
428b4753 402
403# Don't export variables to the environment, in order to not confuse
404# configure.
405.NOEXPORT: