0

现在我终于让 xmonad 可以很好地与 MATE DE 配合使用,但我会尝试将GNOME2/3/XFCE4 面板小程序移植到 mate 上,因为 MATE 本质上是 GNOME2。

到目前为止,我已经为 MATE 添加了必要的依赖项,ifdef 等,并且运行autogen.sh --with-panel=mate会吐出一个显示任何错误的 Makefile。但是,运行make会出现此错误:Makefile:770: *** missing separator. Stop.这是我的 Makefile: http: //pastebin.com/bLF9TD4M

这是导致错误的部分:

#    $(applet_files): $(applet_files:.desktop=.desktop.in)
#           $(SED) -e "s|\@PLUGIN_DIR\@|$(PLUGIN_DIR)|" $< > $@
    if PANEL_MATE
        applet_files = org.mate.panel.XmonadLogApplet.panel-applet
        $(applet_files): $(applet_files:.panel-applet=.panel-applet.in)
                $(SED) -e "s|\@PLUGIN_DIR\@|$(PLUGIN_DIR)|" $< > $@
    else
        applet_files = org.gnome.panel.XmonadLogApplet.panel-applet
        $(applet_files): $(applet_files:.panel-applet=.panel-applet.in)
                $(SED) -e "s|\@PLUGIN_DIR\@|$(PLUGIN_DIR)|" $< > $@
    endif

    if !PANEL_MATE
        servicedir = $(SESSION_BUS_SERVICES_DIR)
        service_in_files = org.gnome.panel.applet.XmonadLogAppletFactory.service.in
        service_DATA = $(service_in_files:.service.in=.service)
        org.gnome.panel.applet.XmonadLogAppletFactory.service: $(service_in_files)
                $(SED) -e "s|\@PLUGIN_DIR\@|$(PLUGIN_DIR)|" $< > $@
    else
        servicedir = $(SESSION_BUS_SERVICES_DIR)
        service_in_files = org.mate.panel.applet.XmonadLogAppletFactory.service.in
        service_DATA = $(service_in_files:.service.in=.service)
                org.mate.panel.applet.XmonadLogAppletFactory.service: $(service_in_files)
                $(SED) -e "s|\@PLUGIN_DIR\@|$(PLUGIN_DIR)|" $< > $@
    endif

这些 IF 语句是 Makefile.am 文件的剩余部分,它们不应该在这里。如果我手动删除 if 语句(将相关内容保留在其中)并运行 make,我会得到:

make  all-am
make[1]: Entering directory `/home/ari/development/xmonad-log-applet'
gcc -DHAVE_CONFIG_H -I.  -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include   -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include      -g -O2 -MT xmonad_log_applet-main.o -MD -MP -MF .deps/xmonad_log_applet-main.Tpo -c -o xmonad_log_applet-main.o `test -f 'main.c' || echo './'`main.c
main.c:15:21: fatal error: gtk/gtk.h: No such file or directory
compilation terminated.
make[1]: *** [xmonad_log_applet-main.o] Error 1
make[1]: Leaving directory `/home/ari/development/xmonad-log-applet'
make: *** [all] Error 2

这是我第一次真正使用 makefile 和 automake,所以任何帮助将不胜感激。这是我在 github 上的修改:https ://github.com/geniass/xmonad-log-applet

4

1 回答 1

0

您不能if在 Automake 中的块内缩进代码。(Makefile 对缩进很敏感。)

于 2012-12-22T17:09:06.057 回答