AM_CONDITIONAL legt Sachen am der Datei



  • Hi

    ich hab in meiner configure.ac folgendes:

    AC_ARG_ENABLE([guidevel],
                  AC_HELP_STRING([--enable-guidevel], [This tells 'make' that the glade files are still in the source code]),
                  GUI_DEVEL=y,
                  GUI_DEVEL=n)     
    AM_CONDITIONAL(GUI_DEVEL_SELECTED, [test "${GUI_DEVEL}" == "y"])
    

    In der src/Makefile.am habe ich

    if GUI_DEVEL_SELECTED
        GUI_CFLAGS=-DGLADE_FILE_DIR=\"$(srcdir)\"
    else
        GUI_CFLAGS=-DGLADE_FILE_DIR=\"$(pkgdatadir)\"
    endif
    
    AM_CFLAGS=-Iinclude $(GTK_PACKAGE_CFLAGS) \
              $(GUI_CFLAGS) \
              ....
    

    Das Problem ist, dass GUI_CFLAGS immer leer ist. Ein Blick in der Makefile.in zeigt

    170 ...
    171 AM_CFLAGS=-Iinclude $(GTK_PACKAGE_CFLAGS) \
    172           $(GUI_CFLAGS) \
    173 ...
    ...
    562 @GUI_DEVEL_SELECTED_TRUE@   GUI_CFLAGS=-DGLADE_FILE_DIR=\"$(srcdir)\"
    563 @GUI_DEVEL_SELECTED_FALSE@  GUI_CFLAGS=-DGLADE_FILE_DIR=\"$(pkgdatadir)\"
    564
    565 .PHONY: myctags
    566 
    567 # Tell versions [3.59,3.63) of GNU make to not export all variables.
    568 # Otherwise a system limit (for SysV at least) may be exceeded.
    569 .NOEXPORT:
    EOF
    

    kein Wunder, dass meine GUI_CFLAGS immer leer ist. Meine Frage ist, warum GUI_DEVEL_SELECTED_TRUE und GUI_DEVEL_SELECTED_FALSE ganz am Ende der Datei geschrieben werden? Damit kann ich nichts anfangen, leider hab ich im Google nichts vergleichbares gefunden 😞 irgendwie bin ich der einzige mit diesem Problem. Was hab ich falsch gemacht?



  • Hab den Fehler selber gefunden.

    Nach der if-Anweisung in der Makefile.am darf es kein TAB Zeichen geben.

    if GUI_DEVEL_SELECTED
    GUI_CFLAGS=-DGLADE_FILE_DIR=\"$(srcdir)\"
    else
    GUI_CFLAGS=-DGLADE_FILE_DIR=\"$(pkgdatadir)\"
    endif
    

    hat geholfen. Das war ja ein blöder Fehler 😡 nur durch Glück bin ich drauf gekommen.


Anmelden zum Antworten