红联Linux门户
Linux帮助

[请教]makefile的维护问题

发布时间:2006-07-05 10:17:00来源:红联作者:mstlifeng1
我使用glade开发了一个界面,系统自动生成一个Makefile文件管理整个工程
现在想把这个界面与其他的一些头文件,共享库进行连编,我不知道该如何把这些头文件,共享库的信息加到Makefile文件当中,Makefile 是自动生成的,很复杂,看不懂.

我的思路是不直接维护Makefile,而去维护toplevel_dir下的configure.in Makefile.am 和/src子目录下的Makefile.am
我把这三个文件贴出来,大家帮我分析一下

toplevel_dir目录下:

configure.in:
dnl Process this file with autoconf to produce a configure script.

AC_INIT(configure.in)
AM_INIT_AUTOMAKE(mywork, 0.1)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE

AC_ISC_POSIX
AC_PROG_CC
AM_PROG_CC_STDC
AC_HEADER_STDC

pkg_modules="gtk+-2.0 >= 2.0.0"
PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
AC_SUBST(PACKAGE_CFLAGS)
AC_SUBST(PACKAGE_LIBS)

GETTEXT_PACKAGE=mywork
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])

dnl Add the languages which your application supports here.
ALL_LINGUAS=""
AM_GLIB_GNU_GETTEXT

AC_OUTPUT([
Makefile
src/Makefile
po/Makefile.in
])

Makefile.am:

SUBDIRS = src po

EXTRA_DIST = \
autogen.sh \
mywork.glade \
mywork.gladep

install-data-local:
@$(NORMAL_INSTALL)
if test -d $(srcdir)/pixmaps; then \
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/pixmaps; \
for pixmap in $(srcdir)/pixmaps/*; do \
if test -f $$pixmap; then \
$(INSTALL_DATA) $$pixmap $(DESTDIR)$(pkgdatadir)/pixmaps; \
fi \
done \
fi

dist-hook:
if test -d pixmaps; then \
mkdir $(distdir)/pixmaps; \
for pixmap in pixmaps/*; do \
if test -f $$pixmap; then \
cp -p $$pixmap $(distdir)/pixmaps; \
fi \
done \
fi
/src目录下:
Makefile.am:
## Process this file with automake to produce Makefile.in

INCLUDES = \
-DPACKAGE_DATA_DIR=\""$(datadir)"\" \
-DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
@PACKAGE_CFLAGS@

bin_PROGRAMS = mywork

mywork_SOURCES = \
main.c \
support.c support.h \
interface.c interface.h \
callbacks.c callbacks.h

mywork_LDADD = @PACKAGE_LIBS@ $(INTLLIBS)


比如我想include的头文件a.h在/a/b/c
我想连接的库b.so在/e/f/g
我该如何修改以上三个文件呢?

不知道我的思路是否正确,请您指教,谢谢!
文章评论

共有 0 条评论