📄 makefile.am
字号:
## Process this file with automake to produce Makefile.inAUTOMAKE_OPTIONS = no-dependencies foreignEXTRA_DIST = acinclude.m4# Build a libtool library, libhello.la for installation in libdir.lib_LTLIBRARIES = libhello.lalibhello_la_SOURCES = longer_file_name_hello.c longer_file_name_foo.c longer_file_name_foo2.clibhello_la_CFLAGS = $(AM_CFLAGS)libhello_la_LIBADD = $(LIBM)libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1include_HEADERS = foo.hif BINARY_HELLDLBUILD_helldl = helldlelseBUILD_helldl =endifbin_PROGRAMS = hell hell_static $(BUILD_helldl)# Build hell from longer_file_name_main.c and libhello.lahell_SOURCES = longer_file_name_main.chell_LDADD = libhello.la# Create a statically linked version of hell.hell_static_SOURCES = longer_file_name_main.chell_static_LDADD = libhello.lahell_static_LDFLAGS = $(STATIC)if BINARY_HELLDL# Create a version of hell that does a preloaded dlopen.helldl_SOURCES = longer_file_name_dlmain.chelldl_LDFLAGS = -export-dynamic -dlpreopen libhello.lahelldl_DEPENDENCIES = libhello.laelsebin_SCRIPTS = helldl# create a script that says that -dlopen is not supportedhelldl helldl$(EXEEXT): rm -f $@ echo '#! /bin/sh' > $@ echo '-dlopen is unsupported' >> $@ chmod +x $@endiflibtool: $(LIBTOOL_DEPS) $(SHELL) ./config.status --recheck#----------------------------------------------------------------------# The following declarations are only used in the testsuite:#----------------------------------------------------------------------hardcode_tests = hc-direct hc-libflag hc-libpath hc-minusLCLEANFILES = $(hardcode_tests)# Unfortunately, in order to test libtool thoroughly, we need access# to its private directory.objdir = `$(LIBTOOL) --config | sed -n -e 's/^objdir=\(.*\)$$/\1/p'`# The following rules are only for the libtool demo and tests.# Regenerate our acinclude.m4 only if it doesn't exist.$(srcdir)/acinclude.m4: rm -f $(srcdir)/acinclude.m4 cd $(srcdir) && $(LN_S) ../libtool.m4 acinclude.m4# Test programs to see what gets hardcoded..PHONY: hardcodehardcode: $(hardcode_tests)SET_HARDCODE_FLAGS = \ eval `$(LIBTOOL) --config | sed -n -e '/^hardcode_.*=/p; /^wl=/p'`hc-direct: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la @rm -f hc-direct @echo "You may ignore any linking errors from the following command:" @shlib=./$(objdir)/libhello.a; \ eval "`grep '^library_names' libhello.la`"; \ for lib in $$library_names; do \ shlib="./$(objdir)/$$lib"; \ done; \ $(SET_HARDCODE_FLAGS); \ libdir=$(libdir); \ flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@"hc-libflag: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la @$(SET_HARDCODE_FLAGS); \ libdir=`pwd`/$(objdir); \ flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ if test -z "$$flag"; then \ echo "echo unsupported > $@"; \ echo unsupported > $@ || status="$$?"; \ else \ echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM)"; \ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM) || status="$$?"; \ fi; \ exit $$statushc-libpath: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la @rm -f hc-libpath @echo "You may ignore any linking errors from the following command:" @$(SET_HARDCODE_FLAGS); \ eval `$(LIBTOOL) --config | grep '^shlibpath_var='`; \ libdir=$(libdir); \ flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ echo "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ eval "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"hc-minusL: $(hell_OBJECTS) $(hell_DEPENDENCIES) @rm -f hc-minusL @$(SET_HARDCODE_FLAGS); \ libdir=$(libdir); \ flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"# This is one of the essential tests for deplibs_check_method=pass_all.# If this one passes with pass_all, it is likely that pass_all worksEXTRA_LIBRARIES = libhell0.alibhell0_a_SOURCES = longer_file_name_hello.c longer_file_name_foo.cEXTRA_LTLIBRARIES = libhell1.la libhell2.lalibhell1_la_SOURCES = longer_file_name_hell1.clibhell1_la_LIBADD = -L. -lhell0libhell1_la_LDFLAGS = -no-undefined -rpath $(libdir)libhell1_la_DEPENDENCIES = libhell0.alibhell2_la_SOURCES = longer_file_name_hell2.clibhell2_la_LIBADD = -L. -lhell0libhell2_la_LDFLAGS = -no-undefined -rpath $(libdir)libhell2_la_DEPENDENCIES = libhell0.aEXTRA_PROGRAMS = hell0hell0_SOURCES = longer_file_name_main.chell0_LDADD = libhell1.la libhell2.la $(LIBM)# 'hell0' in EXTRA_PROGRAMS gets translated to 'hell0.exe'; but we# must explicitly list the wrapper script 'hell0'. (bin_PROGRAMS# are handled seamlessly by automake rules; the extra step is only# necessary for EXTRA_PROGRAMS)CLEANFILES += $(EXTRA_LIBRARIES) $(EXTRA_LTLIBRARIES) $(EXTRA_PROGRAMS) hell0deplibs-check: hell0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -