9

在我的新项目中,我需要基于 ac 编写的项目。而且我知道我可以使用 NDK 来做到这一点,但这里有一个问题:如何将标准重写MakefileAndroid.mk? 更进一步,在Android中,我可以忽略ndk,直接使用jni构建项目,将c项目适配到android项目中吗?还有将 c 项目改编为 android 项目的想法吗?谢谢。最后,这是 Makefile:

# Makefile.in generated by automake 1.10.1 from Makefile.am.
# Makefile.  Generated from Makefile.in by configure.

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.




pkgdatadir = $(datadir)/fuse
pkglibdir = $(libdir)/fuse
pkgincludedir = $(includedir)/fuse
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
target_triplet = i686-pc-linux-gnu
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
    $(srcdir)/Makefile.in $(srcdir)/fuse.pc.in \
    $(top_srcdir)/configure AUTHORS COPYING COPYING.LIB ChangeLog \
    INSTALL NEWS compile config.guess config.rpath config.sub \
    depcomp install-sh ltmain.sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
    $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
    $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
    $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    $(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES = fuse.pc
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
    html-recursive info-recursive install-data-recursive \
    install-dvi-recursive install-exec-recursive \
    install-html-recursive install-info-recursive \
    install-pdf-recursive install-ps-recursive install-recursive \
    installcheck-recursive installdirs-recursive pdf-recursive \
    ps-recursive uninstall-recursive
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 = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
pkgconfigDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgconfig_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
  distclean-recursive maintainer-clean-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
  { test ! -d $(distdir) \
    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
         && rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = ${SHELL} /home/kaiwii/fuse-2.8.1/missing --run aclocal-1.10
AMTAR = ${SHELL} /home/kaiwii/fuse-2.8.1/missing --run tar
AR = ar
AUTOCONF = ${SHELL} /home/kaiwii/fuse-2.8.1/missing --run autoconf
AUTOHEADER = ${SHELL} /home/kaiwii/fuse-2.8.1/missing --run autoheader
AUTOMAKE = ${SHELL} /home/kaiwii/fuse-2.8.1/missing --run automake-1.10
AWK = gawk
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -Wall -W -Wno-sign-compare -Wstrict-prototypes -Wmissing-declarations -Wwrite-strings -g -O2 -fno-strict-aliasing
CPP = gcc -E
CPPFLAGS = 
CYGPATH_W = echo
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
DSYMUTIL = 
DUMPBIN = 
ECHO_C = 
ECHO_N = -n
ECHO_T = 
EGREP = /bin/grep -E
EXEEXT = 
FGREP = /bin/grep -F
GREP = /bin/grep
INIT_D_PATH = /etc/init.d
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 = 
LIBICONV = 
LIBOBJS = 
LIBS = 
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIPO = 
LN_S = ln -s
LTLIBICONV = 
LTLIBOBJS = 
MAKEINFO = ${SHELL} /home/kaiwii/fuse-2.8.1/missing --run makeinfo
MKDIR_P = /bin/mkdir -p
MOUNT_FUSE_PATH = /sbin
NM = /usr/bin/nm -B
NMEDIT = 
OBJDUMP = objdump
OBJEXT = o
OTOOL = 
OTOOL64 = 
PACKAGE = fuse
PACKAGE_BUGREPORT = 
PACKAGE_NAME = fuse
PACKAGE_STRING = fuse 2.8.1
PACKAGE_TARNAME = fuse
PACKAGE_VERSION = 2.8.1
PATH_SEPARATOR = :
RANLIB = ranlib
SED = /bin/sed
SET_MAKE = 
SHELL = /bin/bash
STRIP = strip
UDEV_RULES_PATH = /etc/udev/rules.d
VERSION = 2.8.1
abs_builddir = /home/kaiwii/fuse-2.8.1
abs_srcdir = /home/kaiwii/fuse-2.8.1
abs_top_builddir = /home/kaiwii/fuse-2.8.1
abs_top_srcdir = /home/kaiwii/fuse-2.8.1
ac_ct_CC = 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_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
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) /home/kaiwii/fuse-2.8.1/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
libfuse_libs = -pthread -lrt -ldl  
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
lt_ECHO = echo
mandir = ${datarootdir}/man
mkdir_p = /bin/mkdir -p
oldincludedir = /usr/include
pdfdir = ${docdir}
pkgconfigdir = ${libdir}/pkgconfig
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
subdirs2 = include lib util example
sysconfdir = ${prefix}/etc
target = i686-pc-linux-gnu
target_alias = 
target_cpu = i686
target_os = linux-gnu
target_vendor = pc
top_build_prefix = 
top_builddir = .
top_srcdir = .
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = include lib util example
EXTRA_DIST = \
    fuse.pc.in      \
    README*         \
    Filesystems     \
    FAQ         \
    doc/how-fuse-works  \
    doc/kernel.txt      \
    doc/Doxyfile

pkgconfig_DATA = fuse.pc
all: all-recursive

.SUFFIXES:
am--refresh:
    @:
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
    @for dep in $?; do \
      case '$(am__configure_deps)' in \
        *$$dep*) \
          echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
          cd $(srcdir) && $(AUTOMAKE) --gnu  \
        && exit 0; \
          exit 1;; \
      esac; \
    done; \
    echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
    cd $(top_srcdir) && \
      $(AUTOMAKE) --gnu  Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
    @case '$?' in \
      *config.status*) \
        echo ' $(SHELL) ./config.status'; \
        $(SHELL) ./config.status;; \
      *) \
        echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
        cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
    esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
    $(SHELL) ./config.status --recheck

$(top_srcdir)/configure:  $(am__configure_deps)
    cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
    cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
fuse.pc: $(top_builddir)/config.status $(srcdir)/fuse.pc.in
    cd $(top_builddir) && $(SHELL) ./config.status $@

mostlyclean-libtool:
    -rm -f *.lo

clean-libtool:
    -rm -rf .libs _libs

distclean-libtool:
    -rm -f libtool
install-pkgconfigDATA: $(pkgconfig_DATA)
    @$(NORMAL_INSTALL)
    test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
    @list='$(pkgconfig_DATA)'; for p in $$list; do \
      if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
      f=$(am__strip_dir) \
      echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
      $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
    done

uninstall-pkgconfigDATA:
    @$(NORMAL_UNINSTALL)
    @list='$(pkgconfig_DATA)'; for p in $$list; do \
      f=$(am__strip_dir) \
      echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
      rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
    done

# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
#     (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
    @failcom='exit 1'; \
    for f in x $$MAKEFLAGS; do \
      case $$f in \
        *=* | --[!k]*);; \
        *k*) failcom='fail=yes';; \
      esac; \
    done; \
    dot_seen=no; \
    target=`echo $@ | sed s/-recursive//`; \
    list='$(SUBDIRS)'; for subdir in $$list; do \
      echo "Making $$target in $$subdir"; \
      if test "$$subdir" = "."; then \
        dot_seen=yes; \
        local_target="$$target-am"; \
      else \
        local_target="$$target"; \
      fi; \
      (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
      || eval $$failcom; \
    done; \
    if test "$$dot_seen" = "no"; then \
      $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
    fi; test -z "$$fail"

$(RECURSIVE_CLEAN_TARGETS):
    @failcom='exit 1'; \
    for f in x $$MAKEFLAGS; do \
      case $$f in \
        *=* | --[!k]*);; \
        *k*) failcom='fail=yes';; \
      esac; \
    done; \
    dot_seen=no; \
    case "$@" in \
      distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
      *) list='$(SUBDIRS)' ;; \
    esac; \
    rev=''; for subdir in $$list; do \
      if test "$$subdir" = "."; then :; else \
        rev="$$subdir $$rev"; \
      fi; \
    done; \
    rev="$$rev ."; \
    target=`echo $@ | sed s/-recursive//`; \
    for subdir in $$rev; do \
      echo "Making $$target in $$subdir"; \
      if test "$$subdir" = "."; then \
        local_target="$$target-am"; \
      else \
        local_target="$$target"; \
      fi; \
      (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
      || eval $$failcom; \
    done && test -z "$$fail"
tags-recursive:
    list='$(SUBDIRS)'; for subdir in $$list; do \
      test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
    done
ctags-recursive:
    list='$(SUBDIRS)'; for subdir in $$list; do \
      test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
    done

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; nonemtpy = 1; } \
          END { if (nonempty) { for (i in files) print i; }; }'`; \
    mkid -fID $$unique
tags: TAGS

TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
        $(TAGS_FILES) $(LISP)
    tags=; \
    here=`pwd`; \
    if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
      include_option=--etags-include; \
      empty_fix=.; \
    else \
      include_option=--include; \
      empty_fix=; \
    fi; \
    list='$(SUBDIRS)'; for subdir in $$list; do \
      if test "$$subdir" = .; then :; else \
        test ! -f $$subdir/TAGS || \
          tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
      fi; \
    done; \
    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; }; }'`; \
    if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
      test -n "$$unique" || unique=$$empty_fix; \
      $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
        $$tags $$unique; \
    fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
        $(TAGS_FILES) $(LISP)
    tags=; \
    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)$$tags$$unique" \
      || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
         $$tags $$unique

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

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

distdir: $(DISTFILES)
    $(am__remove_distdir)
    test -d $(distdir) || mkdir $(distdir)
    @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 $(srcdir)/$$file && test $$d != $(srcdir); then \
          cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
        fi; \
        cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
      else \
        test -f $(distdir)/$$file \
        || cp -p $$d/$$file $(distdir)/$$file \
        || exit 1; \
      fi; \
    done
    list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
      if test "$$subdir" = .; then :; else \
        test -d "$(distdir)/$$subdir" \
        || $(MKDIR_P) "$(distdir)/$$subdir" \
        || exit 1; \
        distdir=`$(am__cd) $(distdir) && pwd`; \
        top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
        (cd $$subdir && \
          $(MAKE) $(AM_MAKEFLAGS) \
            top_distdir="$$top_distdir" \
            distdir="$$distdir/$$subdir" \
        am__remove_distdir=: \
        am__skip_length_check=: \
            distdir) \
          || exit 1; \
      fi; \
    done
    -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
      ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
      ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
      ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
    || chmod -R a+r $(distdir)
dist-gzip: distdir
    tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
    $(am__remove_distdir)

dist-bzip2: distdir
    tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
    $(am__remove_distdir)

dist-lzma: distdir
    tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
    $(am__remove_distdir)

dist-tarZ: distdir
    tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
    $(am__remove_distdir)

dist-shar: distdir
    shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
    $(am__remove_distdir)

dist-zip: distdir
    -rm -f $(distdir).zip
    zip -rq $(distdir).zip $(distdir)
    $(am__remove_distdir)

dist dist-all: distdir
    tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
    $(am__remove_distdir)

# This target untars the dist file and tries a VPATH configuration.  Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
    case '$(DIST_ARCHIVES)' in \
    *.tar.gz*) \
      GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
    *.tar.bz2*) \
      bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
    *.tar.lzma*) \
      unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
    *.tar.Z*) \
      uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
    *.shar.gz*) \
      GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
    *.zip*) \
      unzip $(distdir).zip ;;\
    esac
    chmod -R a-w $(distdir); chmod a+w $(distdir)
    mkdir $(distdir)/_build
    mkdir $(distdir)/_inst
    chmod a-w $(distdir)
    dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
      && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
      && cd $(distdir)/_build \
      && ../configure --srcdir=.. --prefix="$$dc_install_base" \
        $(DISTCHECK_CONFIGURE_FLAGS) \
      && $(MAKE) $(AM_MAKEFLAGS) \
      && $(MAKE) $(AM_MAKEFLAGS) dvi \
      && $(MAKE) $(AM_MAKEFLAGS) check \
      && $(MAKE) $(AM_MAKEFLAGS) install \
      && $(MAKE) $(AM_MAKEFLAGS) installcheck \
      && $(MAKE) $(AM_MAKEFLAGS) uninstall \
      && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
            distuninstallcheck \
      && chmod -R a-w "$$dc_install_base" \
      && ({ \
           (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
           && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
           && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
           && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
                distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
          } || { rm -rf "$$dc_destdir"; exit 1; }) \
      && rm -rf "$$dc_destdir" \
      && $(MAKE) $(AM_MAKEFLAGS) dist \
      && rm -rf $(DIST_ARCHIVES) \
      && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
    $(am__remove_distdir)
    @(echo "$(distdir) archives ready for distribution: "; \
      list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
      sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
    @cd $(distuninstallcheck_dir) \
    && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
       || { echo "ERROR: files left after uninstall:" ; \
            if test -n "$(DESTDIR)"; then \
              echo "  (check DESTDIR support)"; \
            fi ; \
            $(distuninstallcheck_listfiles) ; \
            exit 1; } >&2
distcleancheck: distclean
    @if test '$(srcdir)' = . ; then \
      echo "ERROR: distcleancheck can only run from a VPATH build" ; \
      exit 1 ; \
    fi
    @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
      || { echo "ERROR: files left in build directory after distclean:" ; \
           $(distcleancheck_listfiles) ; \
           exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
    for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
      test -z "$$dir" || $(MKDIR_P) "$$dir"; \
    done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive

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

installcheck: installcheck-recursive
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)

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

clean-am: clean-generic clean-libtool mostlyclean-am

distclean: distclean-recursive
    -rm -f $(am__CONFIG_DISTCLEAN_FILES)
    -rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool \
    distclean-tags

dvi: dvi-recursive

dvi-am:

html: html-recursive

info: info-recursive

info-am:

install-data-am: install-pkgconfigDATA

install-dvi: install-dvi-recursive

install-exec-am:

install-html: install-html-recursive

install-info: install-info-recursive

install-man:

install-pdf: install-pdf-recursive

install-ps: install-ps-recursive

installcheck-am:

maintainer-clean: maintainer-clean-recursive
    -rm -f $(am__CONFIG_DISTCLEAN_FILES)
    -rm -rf $(top_srcdir)/autom4te.cache
    -rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-recursive

mostlyclean-am: mostlyclean-generic mostlyclean-libtool

pdf: pdf-recursive

pdf-am:

ps: ps-recursive

ps-am:

uninstall-am: uninstall-pkgconfigDATA

.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
    install-strip

.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
    all all-am am--refresh check check-am clean clean-generic \
    clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
    dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
    distclean distclean-generic distclean-libtool distclean-tags \
    distcleancheck distdir distuninstallcheck 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-man install-pdf install-pdf-am \
    install-pkgconfigDATA install-ps install-ps-am install-strip \
    installcheck installcheck-am installdirs installdirs-am \
    maintainer-clean maintainer-clean-generic mostlyclean \
    mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
    tags tags-recursive uninstall uninstall-am \
    uninstall-pkgconfigDATA


$(pkgconfig_DATA): config.status
# 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

2 回答 2

3

你走错路了。Android.mk 文件相当于 autotools 世界中的 Makefile.ac。所以从 Makefile.ac 的转换开始,而不是 Makefile 本身。

但是,您将面临的一个问题是 NDK 中的配置脚本没有任何等效项。这意味着没有自动方法来创建通常在使用自动工具的项目中找到的 config.h。

一个快速而简单的解决方案是使用适当的选项运行 ./configure 以生成正确的 config.h,将 Makefile.am 移植到 Android.mk 中,然后使用 NDK 构建。

我使用的选项是使用 ndk r7c(我针对 API_8 构建,即 2.2):

./configure \
--host=arm-linux-androideabi \
CC=arm-linux-androideabi-gcc \
LD=arm-linux-androideabi-ld \
CPPFLAGS="-I/home/sdk/ndk/platforms/android-8/arch-arm/usr/include/" \
CFLAGS="-nostdlib" \
LDFLAGS="-Wl,-rpath-link=/home/sdk/ndk/platforms/android-8/arch-arm/usr/lib/ -L/home/sdk/ndk/platforms/android-8/arch-arm/usr/lib/" \
LIBS="-lc"

可以从http://forum.xda-developers.com/showthread.php?t=1612760下载我所做的示例(文件(1)和 libmagic)

于 2012-04-27T19:49:35.060 回答
2

也许您不需要将MakefileorMakefile.ac转换为Android.mk. 您还可以按照 Android NDK 文档 (${NDK_INSTALL_DIR}/doc/STANDALONE-TOOLCHAIN.html) 中的详细说明独立使用 Android NDK 工具链。您需要在运行时指定-sysroot交叉编译选项,可能是这样的:gcc./configure

./configure --host=xxx CC="xxx-gcc" \
CFLAGS="-sysroot ${NDK_INSTALL_DIR}/platforms/android-<level>/arch-<arch>/" \
CPPFLAGS="-sysroot ..." ...

您可以通过构建专用工具链来消除提供-sysroot选项的需要(这在上面的 NDK 文档文件中也有详细说明),从而使其变得更加容易。

相关问题:

于 2012-06-04T03:18:06.553 回答