как переписать Makefile в android.mk?

В моем новом проекте мне нужно опираться на c письменный проект. И я знаю, что я могу использовать NDK, чтобы сделать это, но вот вопрос: как переписать стандартMakefile вAndroid.mk? And further more, in Android, can I, neglecting the ndk, build the project directly using the jni to adapt the c project into the android project? And anymore idea to adapt the c project into the android project? thx. At last, here is the Makefile:

<code># 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 [email protected] $(am__depfiles_maybe)'; \
        cd $(top_builddir) && $(SHELL) ./config.status [email protected] $(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 [email protected]

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 [email protected] | 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 "[email protected]" 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 [email protected] | 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: 
</code>

Ответы на вопрос(2)

Решение Вопроса

Вы идете по неправильному пути. Файл Android.mk эквивалентен 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"

Пример того, что я сделал (file (1) и libmagic) можно скачать сhttp://forum.xda-developers.com/showthread.php?t=1612760

Может быть, вам не нужно конвертироватьMakefile или жеMakefile.ac вAndroid.mk, Вы также можете использовать цепочки инструментов Android NDK независимо, как подробно описано в документации по Android NDK ($ {NDK_INSTALL_DIR} /doc/STANDALONE-TOOLCHAIN.html). Вам нужно будет указать-sysroot опция для кросс-компиляцииgcc при беге./configureчто-то вроде этого возможно:

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

Вы можете сделать это еще проще, создав специальную цепочку инструментов, избавляя от необходимости предоставлять-sysroot опция (это также подробно описано в приведенном выше файле документации NDK).

Смежные вопросы:

Answer to Tool to generate an Android.mk says you could use cmake to build Android.mk files - I have not tried and have no idea about this approach. Android.mk for LibXtract (includes my answer with some more details than given here about using independent tool chain).

Ваш ответ на вопрос