分享

深入浅出学Makefile<三,如何自动生成Makefile>

 败败0619 2012-08-24

上海索漫提供 http://www.,(请尊重原创,转载请注明,作者:下家山) 

五: 运行make编译得到可执行文件

root@parson-desktop:/home/parson/tmp/automk# make

gcc -DPACKAGE_NAME=\"hellolinux\" -DPACKAGE_TARNAME=\"hellolinux\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"hellolinux\ 1.0\" -DPACKAGE_BUGREPORT=\"somy@\" -DPACKAGE_URL=\"\" -DPACKAGE=\"hellolinux\" -DVERSION=\"1.0\" -I.     -g -O2 -MT hellolinux.o -MD -MP -MF .deps/hellolinux.Tpo -c -o hellolinux.o hellolinux.c

mv -f .deps/hellolinux.Tpo .deps/hellolinux.Po

gcc  -g -O2   -o hellolinux hellolinux.o 

root@parson-desktop:/home/parson/tmp/automk# ls

aclocal.m4      config.log     configure.ac  hellolinux.c  Makefile     missing

autom4te.cache  config.status  depcomp       hellolinux.o  Makefile.am

autoscan.log    configure      hellolinux    install-sh    Makefile.in

六:运行可执行文件

root@parson-desktop:/home/parson/tmp/automk# ./hellolinux

Hello World,This is my first programme

root@parson-desktop:/home/parson/tmp/automk# cat Makefile

# Makefile.in generated by automake 1.11.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, 2009  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.

By 下家山 Q群 75303301        上海松江文汇路928号258室    松江大学城   

上海索漫科技  http://www.  专注嵌入式(ARM7,Cortex-M0,Cortex-M3,ARM9,linux)培训pkgdatadir = $(datadir)/hellolinux

pkgincludedir = $(includedir)/hellolinux

pkglibdir = $(libdir)/hellolinux

pkglibexecdir = $(libexecdir)/hellolinux

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

bin_PROGRAMS = hellolinux$(EXEEXT)

subdir = .

DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \

        $(srcdir)/Makefile.in $(top_srcdir)/configure depcomp \

        install-sh missing

ACLOCAL_M4 = $(top_srcdir)/aclocal.m4

am__aclocal_m4_deps = $(top_srcdir)/configure.ac

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_CLEAN_FILES =

CONFIG_CLEAN_VPATH_FILES =

am__installdirs = "$(DESTDIR)$(bindir)"

PROGRAMS = $(bin_PROGRAMS)

am_hellolinux_OBJECTS = hellolinux.$(OBJEXT)

hellolinux_OBJECTS = $(am_hellolinux_OBJECTS)

hellolinux_LDADD = $(LDADD)

DEFAULT_INCLUDES = -I.

depcomp = $(SHELL) $(top_srcdir)/depcomp

am__depfiles_maybe = depfiles

am__mv = mv -f

COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \

        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)

CCLD = $(CC)

LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@

SOURCES = $(hellolinux_SOURCES)

DIST_SOURCES = $(hellolinux_SOURCES)

ETAGS = etags

CTAGS = ctags

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/parson/tmp/automk/missing --run aclocal-1.11

AMTAR = ${SHELL} /home/parson/tmp/automk/missing --run tar

AUTOCONF = ${SHELL} /home/parson/tmp/automk/missing --run autoconf

AUTOHEADER = ${SHELL} /home/parson/tmp/automk/missing --run autoheader

AUTOMAKE = ${SHELL} /home/parson/tmp/automk/missing --run automake-1.11

AWK = gawk

CC = gcc

CCDEPMODE = depmode=gcc3

CFLAGS = -g -O2

CPPFLAGS =

CYGPATH_W = echo

By 下家山 Q群 75303301        上海松江文汇路928号258室    松江大学城   

上海索漫科技  http://www.  专注嵌入式(ARM7,Cortex-M0,Cortex-M3,ARM9,linux)培训

DEFS = -DPACKAGE_NAME=\"hellolinux\" -DPACKAGE_TARNAME=\"hellolinux\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"hellolinux\ 1.0\" -DPACKAGE_BUGREPORT=\"somy@\" -DPACKAGE_URL=\"\" -DPACKAGE=\"hellolinux\" -DVERSION=\"1.0\"

DEPDIR = .deps

ECHO_C =

ECHO_N = -n

ECHO_T =

EXEEXT =

INSTALL = /usr/bin/install -c

INSTALL_DATA = ${INSTALL} -m 644

INSTALL_PROGRAM = ${INSTALL}

INSTALL_SCRIPT = ${INSTALL}

INSTALL_STRIP_PROGRAM = $(install_sh) -c -s

LDFLAGS =

LIBOBJS =

LIBS =

LTLIBOBJS =

MAKEINFO = ${SHELL} /home/parson/tmp/automk/missing --run makeinfo

MKDIR_P = /bin/mkdir -p

OBJEXT = o

PACKAGE = hellolinux

PACKAGE_BUGREPORT = somy@

PACKAGE_NAME = hellolinux

PACKAGE_STRING = hellolinux 1.0

PACKAGE_TARNAME = hellolinux

PACKAGE_URL =

PACKAGE_VERSION = 1.0

PATH_SEPARATOR = :

SET_MAKE =

SHELL = /bin/bash

STRIP =

VERSION = 1.0

abs_builddir = /home/parson/tmp/automk

abs_srcdir = /home/parson/tmp/automk

abs_top_builddir = /home/parson/tmp/automk

abs_top_srcdir = /home/parson/tmp/automk

ac_ct_CC = gcc

am__include = include

am__leading_dot = .

am__quote =

am__tar = ${AMTAR} chof - "$$tardir"

am__untar = ${AMTAR} xf -

bindir = ${exec_prefix}/bin

build_alias =

builddir = .

datadir = ${datarootdir}

datarootdir = ${prefix}/share

docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}

dvidir = ${docdir}

exec_prefix = ${prefix}

host_alias =

htmldir = ${docdir}

includedir = ${prefix}/include

infodir = ${datarootdir}/info

install_sh = ${SHELL} /home/parson/tmp/automk/install-sh

libdir = ${exec_prefix}/lib

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

hellolinux_SOURCES = hellolinux.c

all: all-am

 

.SUFFIXES:

.SUFFIXES: .c .o .obj

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) --foreign'; \

              $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \

                && exit 0; \

              exit 1;; \

          esac; \

        done; \

By 下家山 Q群 75303301        上海松江文汇路928号258室    松江大学城   

上海索漫科技  http://www.  专注嵌入式(ARM7,Cortex-M0,Cortex-M3,ARM9,linux)培训

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多