OSDN Git Service

boehm-gc/
[pf3gnuchains/gcc-fork.git] / libobjc / Makefile.in
index 98f4c87..130e936 100644 (file)
@@ -1,6 +1,6 @@
 # Makefile for GNU Objective C runtime library.
-# Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004
-# Free Software Foundation, Inc.
+# Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 #This file is part of GCC.
 
@@ -36,18 +36,20 @@ target_noncanonical = @target_noncanonical@
 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)
 
@@ -91,14 +93,18 @@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install
 LIBTOOL_CLEAN   = $(LIBTOOL) --mode=clean
 #LIBTOOL_UNINSTALL = $(LIBTOOL) --mode=uninstall
 
+OBJC_GCFLAGS=-DOBJC_WITH_GC=1
+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 \
   -I$(MULTIBUILDTOP)../../$(host_subdir)/gcc \
-  -I$(srcdir)/$(MULTISRCTOP)../include
+  -I$(srcdir)/$(MULTISRCTOP)../include \
+  $(OBJC_BOEHM_GC_INCLUDES)
 
-OBJC_GCFLAGS=-DOBJC_WITH_GC=1
-OBJC_THREAD_FILE=thr-objc
-OBJC_BOEHM_GC=@OBJC_BOEHM_GC@
 
 .SUFFIXES:
 .SUFFIXES: .c .m .lo
@@ -134,7 +140,7 @@ FLAGS_TO_PASS = \
        "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.
@@ -264,17 +270,27 @@ exception_gc.lo: exception.c
        $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
                -fexceptions $(INCLUDES) $<
 
-doc: info dvi html
+doc: info dvi pdf 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. 
@@ -307,6 +323,7 @@ libobjc.dll: libobjc_s.a libobjc_entry.o
 
 info:
 dvi:
+pdf:
 html:
 
 Makefile: Makefile.in config.status
@@ -324,10 +341,10 @@ ${srcdir}/configure: @MAINT@ configure.ac
 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="$@"
@@ -335,7 +352,7 @@ install-libs: installdirs
 
 # 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; \
@@ -344,9 +361,9 @@ install-headers:
 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