0

我正在尝试将新文件添加到名为snort的开源软件的源代码中以对其进行扩展。这个项目基于 Makefile,我使用 netbeans IDE。我想将名为 my_new_file.h 和 my_new_file.c 的文件添加到该项目中。我调查了 Makefile 并将我的文件名添加到我看到的源文件和目标文件列表的末尾;您只需在此页面中搜索 my_new_file (ctrl+F) 即可看到。在此之后,项目构建良好;但是当我想运行该软件时,我看到错误指出我在 my_new_file 中定义的新函数的定义未找到。

/libsf_sip_preproc.so:未定义符号:my_new_func

所有这些包都将被编译并链接到一些共享对象文件中。我看到我的源的目标文件已生成,但我认为它们没有正确链接到 makefile。我使用的 mekefile 是通过使用 configure 脚本混合 makefile.in 和 makefile.am 自动生成的。我在下面附上了整个主要的makefile。如果有人知道我如何编辑这个 makefile 来编译并将我的源代码链接到主项目,我将非常感激。

这是 make.am 文件:

## $Id
AUTOMAKE_OPTIONS=foreign no-dependencies

INCLUDES = -I../include -I${srcdir}/../libs -I$(srcdir)/includes

libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor

lib_LTLIBRARIES = libsf_sip_preproc.la

libsf_sip_preproc_la_LDFLAGS = -shared -export-dynamic -module @XCCFLAGS@
if SO_WITH_STATIC_LIB
libsf_sip_preproc_la_LIBADD = ../libsf_dynamic_preproc.la
else
nodist_libsf_sip_preproc_la_SOURCES = \
../include/sf_dynamic_preproc_lib.c \
../include/sf_ip.c \
../include/sfPolicyUserData.c
endif

libsf_sip_preproc_la_SOURCES = \
spp_sip.c \
spp_sip.h \
sip_config.c \
sip_config.h \
sip_parser.c \
sip_parser.h \
sip_dialog.c \
sip_dialog.h \
sip_roptions.c \
sip_roptions.h \
sip_utils.c \
sip_utils.h \
sip_debug.h \
my_new_file.c \
my_new_file.h

EXTRA_DIST = \
sf_sip.dsp

all-local: $(LTLIBRARIES)
    $(MAKE) DESTDIR=`pwd`/../build install-libLTLIBRARIES

这是使用 makefile.am 和 makefile.in 通过配置脚本生成的主要 Maikefile:

# Makefile.in generated by automake 1.11.1 from Makefile.am.
# src/dynamic-preprocessors/sip/Makefile.  Generated from Makefile.in by configure.

pkgdatadir = $(datadir)/snort
pkgincludedir = $(includedir)/snort
pkglibdir = $(libdir)/snort
pkglibexecdir = $(libexecdir)/snort
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = i686-pc-linux-gnu
host_triplet = i686-pc-linux-gnu
subdir = src/dynamic-preprocessors/sip
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libprelude.m4 \
    $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
    *) f=$$p;; \
  esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
  for p in $$list; do echo "$$p $$p"; done | \
  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
    if (++n[$$2] == $(am__install_max)) \
      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
    END { for (dir in files) print dir, files[dir] }'
am__base_list = \
  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
libsf_sip_preproc_la_DEPENDENCIES =  \
    ../libsf_dynamic_preproc.la
am_libsf_sip_preproc_la_OBJECTS = spp_sip.lo sip_config.lo \
    sip_parser.lo sip_dialog.lo sip_roptions.lo sip_utils.lo \
    my_new_file.lo

#nodist_libsf_sip_preproc_la_OBJECTS =  \
#   sf_dynamic_preproc_lib.lo sf_ip.lo \
#   sfPolicyUserData.lo
libsf_sip_preproc_la_OBJECTS = $(am_libsf_sip_preproc_la_OBJECTS) \
    $(nodist_libsf_sip_preproc_la_OBJECTS)
libsf_sip_preproc_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
    $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
    $(libsf_sip_preproc_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. -I$(top_builddir)
depcomp =
am__depfiles_maybe =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
    --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
    $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
    --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
    $(LDFLAGS) -o $@
SOURCES = $(libsf_sip_preproc_la_SOURCES) \
    $(nodist_libsf_sip_preproc_la_SOURCES)
DIST_SOURCES = $(libsf_sip_preproc_la_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /usr/local/src/snort-2.9.2.2/missing --run aclocal-1.11
AMTAR = ${SHELL} /usr/local/src/snort-2.9.2.2/missing --run tar
AR = ar
AUTOCONF = ${SHELL} /usr/local/src/snort-2.9.2.2/missing --run autoconf
AUTOHEADER = ${SHELL} /usr/local/src/snort-2.9.2.2/missing --run autoheader
AUTOMAKE = ${SHELL} /usr/local/src/snort-2.9.2.2/missing --run automake-1.11
AWK = mawk
CC = /usr/bin/gcc
CCDEPMODE = depmode=gcc3
CCONFIGFLAGS =  -DSF_VISIBILITY -fvisibility=hidden
CFLAGS = -g3 -gdwarf-2 -DSF_VISIBILITY -fvisibility=hidden -fno-strict-aliasing -Wall
CONFIGFLAGS =  -DSF_WCHAR -DSUP_IP6 -DTARGET_BASED -DPERF_PROFILING -DSNORT_RELOAD -DNORMALIZER -DACTIVE_RESPONSE
CPP = /usr/bin/gcc -E
CPPFLAGS = -I/usr/local/include -DDYNAMIC_PLUGIN -I/usr/local/include -DZLIB -DGRE -DMPLS -DPREPROCESSOR_AND_DECODER_RULE_EVENTS -DPPM_MGR -DENABLE_PAF -DENABLE_REACT -DENABLE_RESPOND -DENABLE_RESPONSE3 -DSF_WCHAR -DSUP_IP6 -DTARGET_BASED -DPERF_PROFILING -DSNORT_RELOAD -DNORMALIZER -DACTIVE_RESPONSE
CYGPATH_W = echo
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
DLLTOOL = false
DSYMUTIL = 
DUMPBIN = 
ECHO_C = 
ECHO_N = -n
ECHO_T = 
EGREP = /bin/grep -E
EXEEXT = 
FGREP = /bin/grep -F
GREP = /bin/grep
ICONFIGFLAGS = 
INCLUDES = -I../include -I${srcdir}/../libs -I$(srcdir)/includes
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LD = /usr/bin/ld
LDFLAGS =  -L/usr/local/lib -lpcre -L/usr/local/lib -ldnet
LEX = flex
LIBOBJS = 
LIBPRELUDE_CFLAGS = 
LIBPRELUDE_CONFIG = 
LIBPRELUDE_CONFIG_PREFIX = 
LIBPRELUDE_LDFLAGS = 
LIBPRELUDE_LIBS = 
LIBPRELUDE_PREFIX = 
LIBPRELUDE_PTHREAD_CFLAGS = 
LIBS = -lz -ldaq_static -ldnet -lpcre -lpcap -lnsl -lm -lm  -ldl -L/usr/local/lib -ldaq_static_modules  -lsfbpf -lpcap -lsfbpf -lpcap -lz -lpthread -lpthread -lpthread
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIPO = 
LN_S = ln -s
LTLIBOBJS = 
MAINT = #
MAKEINFO = ${SHELL} /usr/local/src/snort-2.9.2.2/missing --run makeinfo
MANIFEST_TOOL = :
MKDIR_P = /bin/mkdir -p
NM = /usr/bin/nm -B
NMEDIT = 
OBJDUMP = objdump
OBJEXT = o
OTOOL = 
OTOOL64 = 
PACKAGE = snort
PACKAGE_BUGREPORT = 
PACKAGE_NAME = 
PACKAGE_STRING = 
PACKAGE_TARNAME = 
PACKAGE_URL = 
PACKAGE_VERSION = 
PATH_SEPARATOR = :
PKG_CONFIG = 
PKG_CONFIG_LIBDIR = 
PKG_CONFIG_PATH = NONE/lib/pkgconfig:
RANLIB = ranlib
RAZORBACK_CFLAGS = 
RAZORBACK_LIBS = 
SED = /bin/sed
SET_MAKE = 
SHELL = /bin/bash
SIGNAL_SNORT_DUMP_STATS = 
SIGNAL_SNORT_READ_ATTR_TBL = 
SIGNAL_SNORT_RELOAD = 
SIGNAL_SNORT_ROTATE_STATS = 
STRIP = strip
VERSION = 2.9.2.2
XCCFLAGS = 
YACC = bison -y
abs_builddir = /usr/local/src/snort-2.9.2.2/src/dynamic-preprocessors/sip
abs_srcdir = /usr/local/src/snort-2.9.2.2/src/dynamic-preprocessors/sip
abs_top_builddir = /usr/local/src/snort-2.9.2.2
abs_top_srcdir = /usr/local/src/snort-2.9.2.2
ac_ct_AR = ar
ac_ct_CC = /usr/bin/gcc
ac_ct_DUMPBIN = 
am__include = include
am__leading_dot = .
am__quote = 
am__tar = ${AMTAR} chof - "$$tardir"
am__untar = ${AMTAR} xf -
bindir = ${exec_prefix}/bin
build = i686-pc-linux-gnu
build_alias = 
build_cpu = i686
build_os = linux-gnu
build_vendor = pc
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE}
dvidir = ${docdir}
exec_prefix = ${prefix}
extra_incl = -I/usr/include/pcap
host = i686-pc-linux-gnu
host_alias = 
host_cpu = i686
host_os = linux-gnu
host_vendor = pc
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /usr/local/src/snort-2.9.2.2/install-sh
libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = /bin/mkdir -p
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
target_alias = 
top_build_prefix = ../../../
top_builddir = ../../..
top_srcdir = ../../..
AUTOMAKE_OPTIONS = foreign no-dependencies
lib_LTLIBRARIES = libsf_sip_preproc.la
libsf_sip_preproc_la_LDFLAGS = -shared -export-dynamic -module 
libsf_sip_preproc_la_LIBADD = ../libsf_dynamic_preproc.la
#nodist_libsf_sip_preproc_la_SOURCES = \
#../include/sf_dynamic_preproc_lib.c \
#../include/sf_ip.c \
#../include/sfPolicyUserData.c

libsf_sip_preproc_la_SOURCES = \
spp_sip.c \
spp_sip.h \
sip_config.c \
sip_config.h \
sip_parser.c \
sip_parser.h \
sip_dialog.c \
sip_dialog.h \
sip_roptions.c \
sip_roptions.h \
sip_utils.c \
sip_utils.h \
sip_debug.h \
my_new_file.c \
my_new_file.h


EXTRA_DIST = \
sf_sip.dsp

all: all-am

.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
    @for dep in $?; do \
      case '$(am__configure_deps)' in \
        *$$dep*) \
          ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
            && { if test -f $@; then exit 0; else break; fi; }; \
          exit 1;; \
      esac; \
    done; \
    echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/dynamic-preprocessors/sip/Makefile'; \
    $(am__cd) $(top_srcdir) && \
      $(AUTOMAKE) --foreign src/dynamic-preprocessors/sip/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
    @case '$?' in \
      *config.status*) \
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
      *) \
        echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
    esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure: # $(am__configure_deps)
    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
    @$(NORMAL_INSTALL)
    test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
    @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
    list2=; for p in $$list; do \
      if test -f $$p; then \
        list2="$$list2 $$p"; \
      else :; fi; \
    done; \
    test -z "$$list2" || { \
      echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
      $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
    }

uninstall-libLTLIBRARIES:
    @$(NORMAL_UNINSTALL)
    @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
    for p in $$list; do \
      $(am__strip_dir) \
      echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
      $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
    done

clean-libLTLIBRARIES:
    -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
    @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
      dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
      test "$$dir" != "$$p" || dir=.; \
      echo "rm -f \"$${dir}/so_locations\""; \
      rm -f "$${dir}/so_locations"; \
    done
libsf_sip_preproc.la: $(libsf_sip_preproc_la_OBJECTS) $(libsf_sip_preproc_la_DEPENDENCIES) 
    $(libsf_sip_preproc_la_LINK) -rpath $(libdir) $(libsf_sip_preproc_la_OBJECTS) $(libsf_sip_preproc_la_LIBADD) $(LIBS)

mostlyclean-compile:
    -rm -f *.$(OBJEXT)

distclean-compile:
    -rm -f *.tab.c

.c.o:
    $(COMPILE) -c $<

.c.obj:
    $(COMPILE) -c `$(CYGPATH_W) '$<'`

.c.lo:
    $(LTCOMPILE) -c -o $@ $<

sf_dynamic_preproc_lib.lo: ../include/sf_dynamic_preproc_lib.c
    $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sf_dynamic_preproc_lib.lo `test -f '../include/sf_dynamic_preproc_lib.c' || echo '$(srcdir)/'`../include/sf_dynamic_preproc_lib.c

sf_ip.lo: ../include/sf_ip.c
    $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sf_ip.lo `test -f '../include/sf_ip.c' || echo '$(srcdir)/'`../include/sf_ip.c

sfPolicyUserData.lo: ../include/sfPolicyUserData.c
    $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sfPolicyUserData.lo `test -f '../include/sfPolicyUserData.c' || echo '$(srcdir)/'`../include/sfPolicyUserData.c

mostlyclean-libtool:
    -rm -f *.lo

clean-libtool:
    -rm -rf .libs _libs

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
    list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
    unique=`for i in $$list; do \
        if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
      done | \
      $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
          END { if (nonempty) { for (i in files) print i; }; }'`; \
    mkid -fID $$unique
tags: TAGS

TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
        $(TAGS_FILES) $(LISP)
    set x; \
    here=`pwd`; \
    list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
    unique=`for i in $$list; do \
        if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
      done | \
      $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
          END { if (nonempty) { for (i in files) print i; }; }'`; \
    shift; \
    if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
      test -n "$$unique" || unique=$$empty_fix; \
      if test $$# -gt 0; then \
        $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
          "$$@" $$unique; \
      else \
        $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
          $$unique; \
      fi; \
    fi
ctags: CTAGS
CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
        $(TAGS_FILES) $(LISP)
    list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
    unique=`for i in $$list; do \
        if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
      done | \
      $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
          END { if (nonempty) { for (i in files) print i; }; }'`; \
    test -z "$(CTAGS_ARGS)$$unique" \
      || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
         $$unique

GTAGS:
    here=`$(am__cd) $(top_builddir) && pwd` \
      && $(am__cd) $(top_srcdir) \
      && gtags -i $(GTAGS_ARGS) "$$here"

distclean-tags:
    -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags

distdir: $(DISTFILES)
    @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
    topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
    list='$(DISTFILES)'; \
      dist_files=`for file in $$list; do echo $$file; done | \
      sed -e "s|^$$srcdirstrip/||;t" \
          -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
    case $$dist_files in \
      */*) $(MKDIR_P) `echo "$$dist_files" | \
               sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
               sort -u` ;; \
    esac; \
    for file in $$dist_files; do \
      if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
      if test -d $$d/$$file; then \
        dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
        if test -d "$(distdir)/$$file"; then \
          find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
        fi; \
        if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
          cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
          find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
        fi; \
        cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
      else \
        test -f "$(distdir)/$$file" \
        || cp -p $$d/$$file "$(distdir)/$$file" \
        || exit 1; \
      fi; \
    done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) all-local
installdirs:
    for dir in "$(DESTDIR)$(libdir)"; do \
      test -z "$$dir" || $(MKDIR_P) "$$dir"; \
    done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
    @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
    $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      `test -z '$(STRIP)' || \
        echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:

distclean-generic:
    -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)

    @echo "This command is intended for maintainers to use"
    @echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
    mostlyclean-am

distclean: distclean-am
    -rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
    distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am:

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am: install-libLTLIBRARIES

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
    -rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
    mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-libLTLIBRARIES

.MAKE: install-am install-strip

.PHONY: CTAGS GTAGS all all-am all-local check check-am clean \
    clean-generic clean-libLTLIBRARIES clean-libtool ctags \
    distclean distclean-compile distclean-generic \
    distclean-libtool distclean-tags distdir dvi dvi-am html \
    html-am info info-am install install-am install-data \
    install-data-am install-dvi install-dvi-am install-exec \
    install-exec-am install-html install-html-am install-info \
    install-info-am install-libLTLIBRARIES install-man install-pdf \
    install-pdf-am install-ps install-ps-am install-strip \
    installcheck installcheck-am installdirs maintainer-clean \
    maintainer-clean-generic mostlyclean mostlyclean-compile \
    mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
    tags uninstall uninstall-am uninstall-libLTLIBRARIES


all-local: $(LTLIBRARIES)
    $(MAKE) DESTDIR=`pwd`/../build install-libLTLIBRARIES

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
4

0 回答 0