⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 A garbage collector for C and C
💻
📖 第 1 页 / 共 3 页
字号:
#   Performance impact untested.# -DGC_USE_LD_WRAP in combination with the old flags listed in README.linux#   causes the collector some system and pthread calls in a more transparent#   fashion than the usual macro-based approach.  Requires GNU ld, and#   currently probably works only with Linux.# -DTHREAD_LOCAL_ALLOC defines GC_local_malloc(), GC_local_malloc_atomic()#   and GC_local_gcj_malloc().  Needed for gc_gcj.h interface.  These allocate#   in a way that usually does not involve acquisition of a global lock.#   Currently requires -DGC_LINUX_THREADS, but should be easy to port to#   other pthreads environments.  Recommended for multiprocessors.# -DUSE_COMPILER_TLS causes thread local allocation to use compiler-supported#   "__thread" thread-local variables.  This is the default in HP/UX.  It#   may help performance on recent Linux installations.  (It failed for#   me on RedHat 8, but appears to work on RedHat 9.)# -DPARALLEL_MARK allows the marker to run in multiple threads.  Recommended#   for multiprocessors.  Currently requires Linux on X86 or IA64, though#   support for other Posix platforms should be fairly easy to add,#   if the thread implementation is otherwise supported.# -DNO_GETENV prevents the collector from looking at environment variables.#   These may otherwise alter its configuration, or turn off GC altogether.#   I don't know of a reason to disable this, except possibly if the#   resulting process runs as a privileged user?# -DUSE_GLOBAL_ALLOC.  Win32 only.  Use GlobalAlloc instead of#   VirtualAlloc to allocate the heap.  May be needed to work around#   a Windows NT/2000 issue.  Incompatible with USE_MUNMAP.#   See README.win32 for details.# -DMAKE_BACK_GRAPH. Enable GC_PRINT_BACK_HEIGHT environment variable.#   See README.environment for details.  Experimental. Limited platform#   support.  Implies DBG_HDRS_ALL.  All allocation should be done using#   the debug interface.# -DSTUBBORN_ALLOC allows allocation of "hard to change" objects, and thus#   makes incremental collection easier.  Was enabled by default until 6.0.#   Rarely used, to my knowledge.# -DHANDLE_FORK attempts to make GC_malloc() work in a child process fork()ed#   from a multithreaded parent.  Currently only supported by pthread_support.c.#   (Similar code should work on Solaris or Irix, but it hasn't been tried.)# -DTEST_WITH_SYSTEM_MALLOC causes gctest to allocate (and leak) large chunks#   of memory with the standard system malloc.  This will cause the root#   set and collected heap to grow significantly if malloced memory is#   somehow getting traced by the collector.  This has no impact on the#   generated library; it only affects the test.# -DPOINTER_MASK=0x... causes candidate pointers to be ANDed with the#   given mask before being considered.  If either this or the following#   macro is defined, it will be assumed that all pointers stored in#   the heap need to be processed this way.  Stack and register pointers#   will be considered both with and without processing.#   These macros are normally needed only to support systems that use#   high-order pointer tags. EXPERIMENTAL.# -DPOINTER_SHIFT=n causes the collector to left shift candidate pointers#   by the indicated amount before trying to interpret them.  Applied#   after POINTER_MASK. EXPERIMENTAL.  See also the preceding macro.#CXXFLAGS= $(CFLAGS) AR= arRANLIB= ranlibOBJS= alloc.o reclaim.o allchblk.o misc.o mach_dep.o os_dep.o mark_rts.o headers.o mark.o obj_map.o blacklst.o finalize.o new_hblk.o dbg_mlc.o malloc.o stubborn.o checksums.o solaris_threads.o aix_irix_threads.o pthread_support.o pthread_stop_world.o darwin_stop_world.o typd_mlc.o ptr_chck.o mallocx.o solaris_pthreads.o gcj_mlc.o specific.o gc_dlopen.o backgraph.o win32_threads.oCSRCS= reclaim.c allchblk.c misc.c alloc.c mach_dep.c os_dep.c mark_rts.c headers.c mark.c obj_map.c pcr_interface.c blacklst.c finalize.c new_hblk.c real_malloc.c dyn_load.c dbg_mlc.c malloc.c stubborn.c checksums.c solaris_threads.c aix_irix_threads.c pthread_support.c pthread_stop_world.c darwin_stop_world.c typd_mlc.c ptr_chck.c mallocx.c solaris_pthreads.c gcj_mlc.c specific.c gc_dlopen.c backgraph.c win32_threads.cCORD_SRCS=  cord/cordbscs.c cord/cordxtra.c cord/cordprnt.c cord/de.c cord/cordtest.c include/cord.h include/ec.h include/private/cord_pos.h cord/de_win.c cord/de_win.h cord/de_cmds.h cord/de_win.ICO cord/de_win.RCCORD_OBJS=  cord/cordbscs.o cord/cordxtra.o cord/cordprnt.oSRCS= $(CSRCS) mips_sgi_mach_dep.s rs6000_mach_dep.s alpha_mach_dep.S \    sparc_mach_dep.S include/gc.h include/gc_typed.h \    include/private/gc_hdrs.h include/private/gc_priv.h \    include/private/gcconfig.h include/private/gc_pmark.h \    include/gc_inl.h include/gc_inline.h include/gc_mark.h \    threadlibs.c if_mach.c if_not_there.c gc_cpp.cc include/gc_cpp.h \    gcname.c include/weakpointer.h include/private/gc_locks.h \    gcc_support.c mips_ultrix_mach_dep.s include/gc_alloc.h \    include/new_gc_alloc.h include/gc_allocator.h \    include/javaxfc.h sparc_sunos4_mach_dep.s sparc_netbsd_mach_dep.s \    include/private/solaris_threads.h include/gc_backptr.h \    hpux_test_and_clear.s include/gc_gcj.h \    include/gc_local_alloc.h include/private/dbg_mlc.h \    include/private/specific.h powerpc_darwin_mach_dep.s \    include/leak_detector.h include/gc_amiga_redirects.h \    include/gc_pthread_redirects.h ia64_save_regs_in_stack.s \    include/gc_config_macros.h include/private/pthread_support.h \    include/private/pthread_stop_world.h include/private/darwin_semaphore.h \    include/private/darwin_stop_world.h $(CORD_SRCS)DOC_FILES= README.QUICK doc/README.Mac doc/README.MacOSX doc/README.OS2 \	doc/README.amiga doc/README.cords doc/debugging.html \	doc/README.dj doc/README.hp doc/README.linux doc/README.rs6000 \	doc/README.sgi doc/README.solaris2 doc/README.uts \	doc/README.win32 doc/barrett_diagram doc/README \        doc/README.contributors doc/README.changes doc/gc.man \	doc/README.environment doc/tree.html doc/gcdescr.html \	doc/README.autoconf doc/README.macros doc/README.ews4800 \	doc/README.DGUX386 doc/README.arm.cross doc/leak.html \	doc/scale.html doc/gcinterface.html doc/README.darwin \	doc/simple_example.htmlTESTS= tests/test.c tests/test_cpp.cc tests/trace_test.c \	tests/leak_test.c tests/thread_leak_test.c tests/middle.cGNU_BUILD_FILES= configure.in Makefile.am configure acinclude.m4 \		 libtool.m4 install-sh configure.host Makefile.in \		 aclocal.m4 config.sub config.guess \		 include/Makefile.am include/Makefile.in \		 doc/Makefile.am doc/Makefile.in \		 ltmain.sh mkinstalldirs depcomp missingOTHER_MAKEFILES= OS2_MAKEFILE NT_MAKEFILE NT_THREADS_MAKEFILE gc.mak \		 BCC_MAKEFILE EMX_MAKEFILE WCC_MAKEFILE Makefile.dj \		 PCR-Makefile SMakefile.amiga Makefile.DLLs \		 digimars.mak Makefile.direct NT_STATIC_THREADS_MAKEFILE#	Makefile and Makefile.direct are copies of each other.OTHER_FILES= Makefile setjmp_t.c callprocs pc_excludes \           MacProjects.sit.hqx MacOS.c \           Mac_files/datastart.c Mac_files/dataend.c \           Mac_files/MacOS_config.h Mac_files/MacOS_Test_config.h \           add_gc_prefix.c gc_cpp.cpp \	   version.h AmigaOS.c \	   $(TESTS) $(GNU_BUILD_FILES) $(OTHER_MAKEFILES)CORD_INCLUDE_FILES= $(srcdir)/include/gc.h $(srcdir)/include/cord.h \	$(srcdir)/include/ec.h $(srcdir)/include/private/cord_pos.hUTILS= if_mach if_not_there threadlibs# Libraries needed for curses applications.  Only needed for de.CURSES= -lcurses -ltermlib# The following is irrelevant on most systems.  But a few# versions of make otherwise fork the shell specified in# the SHELL environment variable.SHELL= /bin/shSPECIALCFLAGS = -I$(srcdir)/include# Alternative flags to the C compiler for mach_dep.c.# Mach_dep.c often doesn't like optimization, and it's# not time-critical anyway.# Set SPECIALCFLAGS to -q nodirect_code on Encore.all: gc.a gctestLEAKFLAGS=$(CFLAGS) -DFIND_LEAKBSD-pkg-all: bsd-libgc.a bsd-libleak.absd-libgc.a:	$(MAKE) CFLAGS="$(CFLAGS)" clean c++-t	mv gc.a bsd-libgc.absd-libleak.a:	$(MAKE) -f Makefile.direct CFLAGS="$(LEAKFLAGS)" clean c++-nt	mv gc.a bsd-libleak.aBSD-pkg-install: BSD-pkg-all	${CP} bsd-libgc.a libgc.a	${INSTALL_DATA} libgc.a ${PREFIX}/lib	${INSTALL_DATA} gc.h gc_cpp.h ${PREFIX}/include	${INSTALL_MAN} doc/gc.man ${PREFIX}/man/man3/gc.3pcr: PCR-Makefile include/private/gc_private.h include/private/gc_hdrs.h \include/private/gc_locks.h include/gc.h include/private/gcconfig.h \mach_dep.o $(SRCS)	$(MAKE) -f PCR-Makefile depend	$(MAKE) -f PCR-Makefile$(OBJS) tests/test.o dyn_load.o dyn_load_sunos53.o: \    $(srcdir)/include/private/gc_priv.h \    $(srcdir)/include/private/gc_hdrs.h $(srcdir)/include/private/gc_locks.h \    $(srcdir)/include/gc.h $(srcdir)/include/gc_pthread_redirects.h \    $(srcdir)/include/private/gcconfig.h $(srcdir)/include/gc_typed.h \    $(srcdir)/include/gc_config_macros.h Makefile# The dependency on Makefile is needed.  Changing# options such as -DSILENT affects the size of GC_arrays,# invalidating all .o files that rely on gc_priv.hmark.o typd_mlc.o finalize.o ptr_chck.o: $(srcdir)/include/gc_mark.h $(srcdir)/include/private/gc_pmark.hspecific.o pthread_support.o: $(srcdir)/include/private/specific.hsolaris_threads.o solaris_pthreads.o: $(srcdir)/include/private/solaris_threads.hdbg_mlc.o gcj_mlc.o: $(srcdir)/include/private/dbg_mlc.htests/test.o: tests $(srcdir)/tests/test.c	$(CC) $(CFLAGS) -c $(srcdir)/tests/test.c	mv test.o tests/test.otests:	mkdir testsbase_lib gc.a: $(OBJS) dyn_load.o $(UTILS)	echo > base_lib	rm -f dont_ar_1	./if_mach SPARC SUNOS5 touch dont_ar_1	./if_mach SPARC SUNOS5 $(AR) rus gc.a $(OBJS) dyn_load.o	./if_mach M68K AMIGA touch dont_ar_1	./if_mach M68K AMIGA $(AR) -vrus gc.a $(OBJS) dyn_load.o	./if_not_there dont_ar_1 $(AR) ru gc.a $(OBJS) dyn_load.o	./if_not_there dont_ar_1 $(RANLIB) gc.a || cat /dev/null#	ignore ranlib failure; that usually means it doesn't exist, and isn't neededcords: $(CORD_OBJS) cord/cordtest $(UTILS)	rm -f dont_ar_3	./if_mach SPARC SUNOS5 touch dont_ar_3	./if_mach SPARC SUNOS5 $(AR) rus gc.a $(CORD_OBJS)	./if_mach M68K AMIGA touch dont_ar_3	./if_mach M68K AMIGA $(AR) -vrus gc.a $(CORD_OBJS)	./if_not_there dont_ar_3 $(AR) ru gc.a $(CORD_OBJS)	./if_not_there dont_ar_3 $(RANLIB) gc.a || cat /dev/nullgc_cpp.o: $(srcdir)/gc_cpp.cc $(srcdir)/include/gc_cpp.h $(srcdir)/include/gc.h Makefile	$(CXX) -c $(CXXFLAGS) $(srcdir)/gc_cpp.cctest_cpp: $(srcdir)/tests/test_cpp.cc $(srcdir)/include/gc_cpp.h gc_cpp.o $(srcdir)/include/gc.h \base_lib $(UTILS)	rm -f test_cpp	./if_mach HP_PA HPUX $(CXX) $(CXXFLAGS) -o test_cpp $(srcdir)/tests/test_cpp.cc gc_cpp.o gc.a -ldld `./threadlibs`	./if_not_there test_cpp $(CXX) $(CXXFLAGS) -o test_cpp $(srcdir)/tests/test_cpp.cc gc_cpp.o gc.a `./threadlibs`c++-t: c++	./test_cpp 1c++-nt: c++	@echo "Use ./test_cpp 1 to test the leak library"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -