前提:假设这个程序叫做vso
路径为:
\vso
\vso\src
\vso\test
下面的步骤只包含的源代码目录,如果创建test的makefile,类似。
1. cd \vso
autoscan
2. mv configure.scan configure.in
3. vim configure.in
as:
---------------------------------
AC_PREREQ(2.59)
AC_INIT(vso, 0.0.1, sun.noon@gmail.com)
AC_CONFIG_SRCDIR([src/PlotWindow.cpp])
AC_CONFIG_HEADER([config.h])
AM_INIT_AUTOMAKE(vso,0.0.1)
# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
# Checks for libraries.
AM_OPTIONS_WXCONFIG
reqwx=2.8.10
AM_PATH_WXCONFIG($reqwx, wxWin=1)
if test "$wxWin" != 1; then
AC_MSG_ERROR([
wxWidgets must be installed on your system.
Please check that wx-config is in path, the directory
where wxWidgets libraries are installed (returned by
'wx-config --libs' or 'wx-config --static --libs' command)
is in LD_LIBRARY_PATH or equivalent variable and
wxWidgets version is $reqwx or above.
])
fi
CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
LIBS="$LIBS $WX_LIBS"
# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([limits.h stdlib.h string.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_CONST
AC_TYPE_SIZE_T
# Checks for library functions.
AC_FUNC_CLOSEDIR_VOID
AC_CHECK_FUNCS([sqrt])
AC_CONFIG_FILES([Makefile
src/Makefile])
AC_OUTPUT
----------------------------------
4. touch NEWS README ChangeLog AUTHORS
5. cd src
vim Makefile.am
as:
--------------
bin_PROGRAMS=vso
vso_SOURCES=a.h a.cpp b.h b.cpp c.h c.cpp
vso_LDADD = @LIBS@
vso_CXXFLAGS = @CXXFLAGS@
--------------
6. cd ..
vim Makefile.am
as:
--------------
AUTOMAKE_OPTIOnS=foreign
SUBDIRS=src
--------------
7.
aclocal
autoheader
autoconf
automake --add-missing
8. Finished!!
usage:
./configure
make
enjoy it!