2012-04-06 15 views
7

En mi nuevo proyecto, necesito basarme en un proyecto c escrito. Y sé que puedo usar el NDK para hacerlo, pero aquí hay una pregunta: ¿cómo reescribir el estándar Makefile en el Android.mk? Y más aún, en Android, ¿puedo, descuidando el ndk, construir el proyecto directamente usando el jni para adaptar el proyecto c al proyecto de Android? ¿Y una idea más para adaptar el proyecto c al proyecto de Android? Gracias. Por fin, aquí está el Makefile:cómo volver a escribir el Makefile en android.mk?

# 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: 

Respuesta

2

Vas acerca de la manera incorrecta. El archivo Android.mk es equivalente a Makefile.ac en el mundo de autotools. Así que comience con la conversión de Makefile.ac, en lugar de Makefile.

Sin embargo, el único problema al que se enfrentará es que no hay ningún equivalente para la secuencia de comandos de configuración en el NDK. Esto significa que no existe un método automatizado para crear la configuración que generalmente se encuentra en los proyectos que usan autotools.

Una solución rápida y hacky es ejecutar ./configure con las opciones adecuadas para generar una config.h que sea correcta, portar el Makefile.am en Android.mk y luego compilar con el NDK.

Las opciones que utilizo está utilizando R7C NDK (construyo contra API_8 que es 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" 

Un ejemplo de lo que hice (archivo (1) y libmagic) se puede descargar desde http://forum.xda-developers.com/showthread.php?t=1612760

1

Quizás no necesite convertir Makefile o Makefile.ac en Android.mk. También puede usar cadenas de herramientas Android NDK de forma independiente como se detalla en la documentación de Android NDK ($ {NDK_INSTALL_DIR} /doc/STANDALONE-TOOLCHAIN.html). Usted tendría que especificar -sysroot opción para cruz compilar gcc cuando se ejecuta ./configure, algo como esto quizá:

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

usted podría hacer aún más fácil mediante la construcción de la cadena de herramienta dedicada eliminación de la necesidad de proporcionar -sysroot opción (esto también se detalla en el archivo de documentación NDK anterior).

preguntas relacionadas:

  • respuesta a Tool to generate an Android.mk dice que podría utilizar para construir cmake Android.mk archivos - No he probado y no tienen idea acerca de este enfoque.
  • Android.mk for LibXtract (incluye mi respuesta con más detalles que aquí sobre el uso de una cadena de herramientas independiente).
Cuestiones relacionadas