File size: 6,446 Bytes
158b61b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 |
# Copyright (c) 1999-2001 by Red Hat, Inc. All rights reserved.
#
# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
# OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
#
# Permission is hereby granted to use or copy this program
# for any purpose, provided the above notices are retained on all copies.
# Permission to modify the code and to distribute modified code is granted,
# provided the above notices are retained, and a notice that the code was
# modified is included with the above copyright notice.
#
# Original author: Tom Tromey
# Severely truncated by Hans-J. Boehm
# Modified by: Grzegorz Jakacki <jakacki at acm dot org>
# Modified by: Petter Urkedal <petter.urkedal@nordita.dk> (2005-04)
## Process this file with automake to produce Makefile.in.
## FIXME: `make distcheck' in this directory will not currently work.
## This is most likely to the explicit flags passed to submakes.
# We currently use the source files directly from libatomic_ops, if we
# use the internal version. This is done since libatomic_ops doesn't
# use libtool, since it has no real use for it. But that seems to make
# it hard to use either the resulting object files or libraries.
# Thus there seems too be no real reason to recusively build in the
# libatomic_ops directory.
# if USE_INTERNAL_LIBATOMICS_OPS
# SUBDIRS = @maybe_libatomic_ops@
# else
# SUBDIRS =
# endif
SUBDIRS =
# Initialize variables so that we can declare files locally.
EXTRA_DIST =
lib_LTLIBRARIES =
include_HEADERS =
pkginclude_HEADERS =
dist_noinst_HEADERS =
check_PROGRAMS =
TESTS =
pkgconfigdir = $(libdir)/pkgconfig
dist_pkgconfig_DATA = bdw-gc.pc
# C Library
# ---------
lib_LTLIBRARIES += libgc.la
libgc_la_SOURCES = \
allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c \
malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
specific.c stubborn.c typd_mlc.c \
backgraph.c thread_local_alloc.c
# C Library: Architecture Dependent
# ---------------------------------
if PTHREADS
libgc_la_SOURCES += pthread_support.c pthread_stop_world.c
endif
if DARWIN_THREADS
libgc_la_SOURCES += darwin_stop_world.c
endif
if WIN32_THREADS
libgc_la_SOURCES += win32_threads.c
endif
if USE_INTERNAL_LIBATOMIC_OPS
nodist_libgc_la_SOURCES = atomic_ops.c
endif
if NEED_ATOMIC_OPS_ASM
nodist_libgc_la_SOURCES = atomic_ops_sysdeps.S
endif
# Include THREADDLLIBS here to ensure that the correct versions of
# linuxthread semaphore functions get linked:
libgc_la_LIBADD = @addobjs@ $(THREADDLLIBS) $(UNWINDLIBS)
libgc_la_DEPENDENCIES = @addobjs@
libgc_la_LDFLAGS = $(extra_ldflags_libgc) -version-info 1:3:0 -no-undefined
EXTRA_libgc_la_SOURCES = alpha_mach_dep.S \
mips_sgi_mach_dep.s mips_ultrix_mach_dep.s \
rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
# C++ Interface
# -------------
if CPLUSPLUS
lib_LTLIBRARIES += libgccpp.la
pkginclude_HEADERS += include/gc_cpp.h include/gc_allocator.h
libgccpp_la_SOURCES = gc_cpp.cc
libgccpp_la_LIBADD = $(top_builddir)/libgc.la
libgccpp_la_LDFLAGS = -version-info 1:3:0 -no-undefined
endif
# FIXME: If Visual C++ users use Makefile.am, this should go into
# pkginclude_HEADERS with proper AM_CONDITIONALization. Otherwise
# delete this comment.
EXTRA_DIST += gc_cpp.cpp
# Misc
# ----
AM_CXXFLAGS = @GC_CFLAGS@
AM_CFLAGS = @GC_CFLAGS@
## FIXME: relies on internal code generated by automake.
## FIXME: ./configure --enable-dependency-tracking should be used
#all_objs = @addobjs@ $(libgc_la_OBJECTS)
#$(all_objs) : include/private/gcconfig.h include/private/gc_priv.h \
#include/private/gc_hdrs.h include/gc.h include/gc_gcj.h \
#include/gc_pthread_redirects.h include/gc_config_macros.h \
#include/private/thread_local_alloc.h include/private_support.h \
#include/private/pthread_stop_world.h \
#include/gc_mark.h @addincludes@
## FIXME: we shouldn't have to do this, but automake forces us to.
## We use -Wp,-P to strip #line directives. Irix `as' chokes on
## these.
if COMPILER_XLC
## XLC neither requires nor tolerates the unnecessary assembler goop
ASM_CPP_OPTIONS =
else
## We use -Wp,-P to strip #line directives. Irix `as' chokes on
## these.
ASM_CPP_OPTIONS = -Wp,-P -x assembler-with-cpp
endif
.s.lo:
$(LTCOMPILE) $(ASM_CPP_OPTIONS) -c $<
.S.lo:
$(LTCOMPILE) $(ASM_CPP_OPTIONS) -c $<
## We need to add DEFS to assembler flags
## :FIXME: what if assembler does not accept -D... ?
## (use Autoconf to prepare ASDEFS ???)
CCASFLAGS += $(DEFS)
dist_noinst_SCRIPTS = callprocs configure.host
## callprocs --- used by Makefile.{dj,direct}
## configure.host --- used by Makefile.{am,dj,direct}
# headers which are not installed
# (see include/include.am for more)
#
dist_noinst_HEADERS += version.h
# documentation which is not installed
#
EXTRA_DIST += README.QUICK
# other makefiles
# :GOTCHA: deliberately we do not include 'Makefile'
EXTRA_DIST += BCC_MAKEFILE NT_MAKEFILE NT_THREADS_MAKEFILE \
OS2_MAKEFILE PCR-Makefile digimars.mak EMX_MAKEFILE \
Makefile.direct Makefile.dj Makefile.DLLs SMakefile.amiga \
WCC_MAKEFILE configure_atomic_ops.sh \
NT_STATIC_THREADS_MAKEFILE NT_X64_STATIC_THREADS_MAKEFILE
# files used by makefiles other than Makefile.am
#
EXTRA_DIST += add_gc_prefix.c gcname.c if_mach.c if_not_there.c \
hpux_test_and_clear.s gc.mak MacOS.c \
MacProjects.sit.hqx mach_dep.c setjmp_t.c \
threadlibs.c AmigaOS.c \
Mac_files/datastart.c Mac_files/dataend.c \
Mac_files/MacOS_config.h Mac_files/MacOS_Test_config.h \
include/private/msvc_dbg.h msvc_dbg.c
# The libatomic_ops library. This is not ideal, since we pick up junk from
# there. The hard-coded version number should also go.
EXTRA_DIST += libatomic_ops-1.2
# this is an auxiliary shell file used by Makefile and Makefile.direct
#
CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host
# :FIXME: why do we distribute this one???
#
EXTRA_DIST += libtool.m4
#
# :GOTCHA: GNU make rule for making .s out of .S is flawed,
# it will not remove dest if building fails
.S.s:
if $(CPP) $< >$@ ; then :; else rm -f $@; fi
include include/include.am
include cord/cord.am
include tests/tests.am
include doc/doc.am
# Putting these at the top causes cord to be built first, and not find libgc.a
# on HP/UX. There may be a better fix.
|