123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256 |
- # 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.
- ## Process this file with automake to produce Makefile.in.
- # Info (current:revision:age) for the Libtool versioning system.
- # These numbers should be updated at most once just before the release,
- # and, optionally, at most once during the development (after the release).
- LIBGC_VER_INFO = 6:1:5
- LIBGCCPP_VER_INFO = 6:0:5
- ## 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.
- # Thus there seems to be no real reason to recursively build in the
- # libatomic_ops directory.
- SUBDIRS =
- ACLOCAL_AMFLAGS = -I m4
- AM_CPPFLAGS = \
- -I$(top_builddir)/include -I$(top_srcdir)/include \
- $(ATOMIC_OPS_CFLAGS)
- ## Initialize variables so that we can declare files locally.
- EXTRA_DIST =
- lib_LTLIBRARIES =
- include_HEADERS =
- pkginclude_HEADERS =
- dist_noinst_HEADERS =
- check_PROGRAMS =
- check_LTLIBRARIES =
- TESTS =
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = bdw-gc.pc
- # C Library
- # ---------
- lib_LTLIBRARIES += libgc.la
- if SINGLE_GC_OBJ
- libgc_la_SOURCES = extra/gc.c
- if PTHREAD_START_STANDALONE
- AM_CPPFLAGS += -DGC_PTHREAD_START_STANDALONE
- libgc_la_SOURCES += pthread_start.c
- endif
- else
- EXTRA_DIST += extra/gc.c
- libgc_la_SOURCES = \
- allchblk.c alloc.c blacklst.c dbg_mlc.c \
- dyn_load.c finalize.c gc_dlopen.c headers.c \
- mach_dep.c malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
- obj_map.c os_dep.c ptr_chck.c reclaim.c specific.c typd_mlc.c
- # C Library: Architecture Dependent
- # ---------------------------------
- if THREADS
- libgc_la_SOURCES += pthread_start.c pthread_support.c
- if THREAD_LOCAL_ALLOC
- libgc_la_SOURCES += thread_local_alloc.c
- endif
- if WIN32_THREADS
- libgc_la_SOURCES += win32_threads.c
- else
- if DARWIN_THREADS
- libgc_la_SOURCES += darwin_stop_world.c
- else
- libgc_la_SOURCES += pthread_stop_world.c
- endif
- endif
- endif
- if MAKE_BACK_GRAPH
- libgc_la_SOURCES += backgraph.c
- endif
- if CHECKSUMS
- libgc_la_SOURCES += checksums.c
- endif
- if ENABLE_GCJ_SUPPORT
- libgc_la_SOURCES += gcj_mlc.c
- endif
- if ENABLE_DISCLAIM
- libgc_la_SOURCES += fnlz_mlc.c
- endif
- ## End of !SINGLE_GC_OBJ
- endif
- if USE_INTERNAL_LIBATOMIC_OPS
- nodist_libgc_la_SOURCES = libatomic_ops/src/atomic_ops.c
- if NEED_ATOMIC_OPS_ASM
- nodist_libgc_la_SOURCES += libatomic_ops/src/atomic_ops_sysdeps.S
- endif
- endif
- # Include THREADDLLIBS here to ensure that the correct versions of
- # linuxthread semaphore (and clock_gettime) functions get linked:
- libgc_la_LIBADD = @addobjs@ $(THREADDLLIBS) $(UNWINDLIBS) $(ATOMIC_OPS_LIBS)
- libgc_la_DEPENDENCIES = @addobjs@
- libgc_la_LDFLAGS = $(extra_ldflags_libgc) -version-info $(LIBGC_VER_INFO) \
- -no-undefined
- EXTRA_libgc_la_SOURCES = ia64_save_regs_in_stack.s sparc_mach_dep.S \
- sparc_netbsd_mach_dep.s
- if CPLUSPLUS
- # C++ Interface
- # -------------
- lib_LTLIBRARIES += libgccpp.la
- libgccpp_la_SOURCES = gc_badalc.cc gc_cpp.cc
- libgccpp_la_LIBADD = libgc.la
- libgccpp_la_LDFLAGS = -version-info $(LIBGCCPP_VER_INFO) -no-undefined
- if GC_TBA_LIBRARY
- # The same as libgccpp but contains only gc_badalc.o.
- lib_LTLIBRARIES += libgctba.la
- libgctba_la_SOURCES = gc_badalc.cc
- libgctba_la_LIBADD = libgc.la
- # Set the same version as for libgccpp.
- libgctba_la_LDFLAGS = -version-info $(LIBGCCPP_VER_INFO) -no-undefined
- endif
- endif
- EXTRA_DIST += gc_badalc.cpp gc_cpp.cpp
- # Misc
- # ----
- AM_CXXFLAGS = $(WERROR_CFLAGS) @GC_CFLAGS@
- AM_CFLAGS = $(WERROR_CFLAGS) @GC_CFLAGS@
- CFLAGS += $(CFLAGS_EXTRA)
- CXXFLAGS += $(CFLAGS_EXTRA)
- ## FIXME: relies on internal code generated by automake.
- ## FIXME: ./configure --enable-dependency-tracking should be used
- ## 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 ASM_WITH_CPP_UNSUPPORTED
- ASM_CPP_OPTIONS =
- else
- 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)
- # headers which are not installed
- # (see include/include.am for more)
- #
- # other makefiles
- EXTRA_DIST += Makefile.direct NT_MAKEFILE WCC_MAKEFILE digimars.mak \
- autogen.sh CMakeLists.txt Config.cmake.in
- # files used by makefiles other than Makefile.am
- #
- EXTRA_DIST += tools/if_mach.c tools/if_not_there.c tools/setjmp_t.c \
- tools/threadlibs.c extra/MacOS.c extra/AmigaOS.c \
- extra/symbian/global_end.cpp extra/symbian/global_start.cpp \
- extra/symbian/init_global_static_roots.cpp extra/symbian.cpp \
- extra/pcr_interface.c extra/real_malloc.c \
- extra/Mac_files/datastart.c extra/Mac_files/dataend.c \
- extra/Mac_files/MacOS_config.h extra/msvc_dbg.c tools/callprocs.sh
- #
- # :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
- ## 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.
- # Installed documentation.
- if ENABLE_DOCS
- dist_doc_DATA = \
- AUTHORS \
- LICENSE \
- README.md \
- doc/platforms/README.aix \
- doc/platforms/README.amiga \
- doc/platforms/README.arm_cross \
- doc/platforms/README.darwin \
- doc/platforms/README.dgux386 \
- doc/platforms/README.emscripten \
- doc/platforms/README.ews4800 \
- doc/platforms/README.hp \
- doc/platforms/README.linux \
- doc/platforms/README.mac \
- doc/platforms/README.os2 \
- doc/platforms/README.sgi \
- doc/platforms/README.solaris2 \
- doc/platforms/README.symbian \
- doc/platforms/README.uts \
- doc/platforms/README.win32 \
- doc/platforms/README.win64 \
- doc/README.autoconf \
- doc/README.cmake \
- doc/README.cords \
- doc/README.environment \
- doc/README.macros \
- doc/debugging.md \
- doc/finalization.md \
- doc/gcdescr.md \
- doc/gcinterface.md \
- doc/leak.md \
- doc/overview.md \
- doc/porting.md \
- doc/scale.md \
- doc/simple_example.md \
- doc/tree.md
- dist_man3_MANS = gc.man
- endif
- # A dummy target for mono build.
- test-bundle:
|