# Makefile for GNU Objective C runtime library.
# Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
#This file is part of GCC.
#GCC is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation; either version 2, or (at your option)
+#the Free Software Foundation; either version 3, or (at your option)
#any later version.
#GCC is distributed in the hope that it will be useful,
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
-#along with GCC; see the file COPYING. If not, write to
-#the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-#Boston, MA 02110-1301, USA. */
+#along with GCC; see the file COPYING3. If not see
+#<http://www.gnu.org/licenses/>.
#This was cribbed from the libchill, libiberty and libstdc++
#Makefile.in files. Some of this stuff may be unnecessary and
gcc_version := $(shell cat $(srcdir)/../gcc/BASE-VER)
host_subdir = @host_subdir@
top_srcdir = @top_srcdir@
-toplevel_srcdir = @toplevel_srcdir@
+multi_basedir = @multi_basedir@
toolexecdir = @toolexecdir@
# Toolexecdir is used only by toolexeclibdir
toolexeclibdir = @toolexeclibdir@
includedirname = @includedirname@
-libext = @libext@
+libsuffix = @libsuffix@
extra_ldflags_libobjc = @extra_ldflags_libobjc@
top_builddir = .
+-include ../boehm-gc/threads.mk
+
libdir = $(exec_prefix)/lib
libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
OBJC_THREAD_FILE=thr-objc
OBJC_BOEHM_GC=@OBJC_BOEHM_GC@
OBJC_BOEHM_GC_INCLUDES=@OBJC_BOEHM_GC_INCLUDES@
+OBJC_BOEHM_GC_LIBS=../boehm-gc/libgcjgc_convenience.la $(thread_libs_and_flags)
INCLUDES = -I$(srcdir)/objc -I$(srcdir)/$(MULTISRCTOP)../gcc \
-I$(srcdir)/$(MULTISRCTOP)../gcc/config \
"libsubdir=$(libsubdir)" \
"tooldir=$(tooldir)"
-all: libobjc$(libext).la $(OBJC_BOEHM_GC)
+all: libobjc$(libsuffix).la $(OBJC_BOEHM_GC)
: $(MAKE) ; exec $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all
# User-visible header files.
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
-fexceptions $(INCLUDES) $<
-doc: info dvi html
+doc: info dvi pdf html
-# No install-html support
-.PHONY: install-html
+# No install-html or install-pdf support
+.PHONY: install-html install-pdf install-info
install-html:
+install-pdf:
+install-info:
+
+LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
-libobjc$(libext).la: $(OBJS)
+libobjc$(libsuffix).la: $(OBJS)
$(LIBTOOL_LINK) $(CC) -o $@ $(OBJS) \
-rpath $(toolexeclibdir) \
- -version-info $(LIBOBJC_VERSION) $(extra_ldflags_libobjc)
+ -version-info $(LIBOBJC_VERSION) $(extra_ldflags_libobjc) \
+ $(LTLDFLAGS)
-libobjc_gc$(libext).la: $(OBJS_GC)
- $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS_GC) \
+libobjc_gc$(libsuffix).la: $(OBJS_GC)
+ $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS_GC) $(OBJC_BOEHM_GC_LIBS) \
-rpath $(toolexeclibdir) \
- -version-info $(LIBOBJC_GC_VERSION) $(extra_ldflags_libobjc)
+ -version-info $(LIBOBJC_GC_VERSION) $(extra_ldflags_libobjc) \
+ $(LTLDFLAGS)
#
# FIXME -- The following part does not fit in the libtool context.
info:
dvi:
+pdf:
html:
Makefile: Makefile.in config.status
install: install-libs install-headers
install-libs: installdirs
- $(SHELL) $(toplevel_srcdir)/mkinstalldirs $(DESTDIR)$(toolexeclibdir)
- $(LIBTOOL_INSTALL) $(INSTALL) libobjc$(libext).la $(DESTDIR)$(toolexeclibdir);
+ $(SHELL) $(multi_basedir)/mkinstalldirs $(DESTDIR)$(toolexeclibdir)
+ $(LIBTOOL_INSTALL) $(INSTALL) libobjc$(libsuffix).la $(DESTDIR)$(toolexeclibdir);
if [ "$(OBJC_BOEHM_GC)" ]; then \
- $(LIBTOOL_INSTALL) $(INSTALL) libobjc_gc$(libext).la \
+ $(LIBTOOL_INSTALL) $(INSTALL) libobjc_gc$(libsuffix).la \
$(DESTDIR)$(toolexeclibdir);\
fi
$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO="$@"
# Copy Objective C headers to installation include directory.
install-headers:
- $(SHELL) $(toplevel_srcdir)/mkinstalldirs $(DESTDIR)$(libsubdir)/$(includedirname)/objc
+ $(SHELL) $(multi_basedir)/mkinstalldirs $(DESTDIR)$(libsubdir)/$(includedirname)/objc
for file in $(OBJC_H); do \
realfile=$(srcdir)/objc/$${file}; \
$(INSTALL_DATA) $${realfile} $(DESTDIR)$(libsubdir)/$(includedirname)/objc; \
check uninstall install-strip dist installcheck installdirs:
mostlyclean:
- -$(LIBTOOL_CLEAN) rm -f libobjc$(libext).la libobjc_gc$(libext).la *.lo
+ -$(LIBTOOL_CLEAN) rm -f libobjc$(libsuffix).la libobjc_gc$(libsuffix).la *.lo
-rm -f runtime-info.h tmp-runtime.s *.o *.lo libobjc* xforward \
- fflags *.aux *.cp *.dvi *.fn *.info *.ky *.log *.pg \
+ fflags *.aux *.cp *.dvi *.pdf *.fn *.info *.ky *.log *.pg \
*.toc *.tp *.vr *.html libobj.exp
@$(MULTICLEAN) multi-clean DO=mostlyclean