我使用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
我该如何修改以上三个文件呢?
不知道我的思路是否正确,请您指教,谢谢!