]> git.draconx.ca Git - liblbx.git/commitdiff
build: clean up XML -> C conversion.
authorNick Bowler <nbowler@draconx.ca>
Sat, 23 Mar 2013 16:28:55 +0000 (12:28 -0400)
committerNick Bowler <nbowler@draconx.ca>
Sat, 23 Mar 2013 16:28:55 +0000 (12:28 -0400)
Use a suffix rule so the rule avoids hardcoding names and other details.

Makefile.am
src/gui/.gitignore
src/gui/lbxgui.c
src/gui/lbxgui.glade.xml [moved from src/gui/lbxgui.glade with 100% similarity]

index 0eaf49e2b2590a1e4e51ffacd93509f2d4b32661..ff0b4a124020fe91da3ba2c1d4dd1f633ae6c18a 100644 (file)
@@ -41,7 +41,7 @@ lbximg_LDADD = liblbx.la libgnu.la $(LIBPNG_LIBS)
 lbximg_CFLAGS = $(LIBPNG_CFLAGS)
 $(lbximg_OBJECTS): $(gnulib_headers)
 
-nodist_lbxgui_SOURCES = src/gui/lbxgui_xml.c
+nodist_lbxgui_SOURCES = src/gui/lbxgui.glade.c
 lbxgui_SOURCES = src/gui/lbxgui.c src/gui/render.c src/gui/render.h \
        src/gui/bg.xbm
 lbxgui_LDADD = liblbx.la $(GTK_LIBS)
@@ -49,13 +49,16 @@ lbxgui_CPPFLAGS = -I$(top_srcdir)/src
 lbxgui_CFLAGS = $(GTK_CFLAGS)
 lbxgui_LDFLAGS = $(AM_LDFLAGS) -export-dynamic
 
-src/gui/lbxgui_xml.c: src/gui/lbxgui.glade
-       $(AM_V_GEN) sed -e 's/"/\\"/g' \
-                       -e 's/.*/"&"/' \
-                       -e '1 s/^/char lbxgui_xml[] =\n/' \
-                       -e '$$ s/$$/;/' $? > $@
+.xml.c:
+       $(AM_V_GEN) printf '%s\n' $(*F) | sed -e 's/[^[:alnum:]]/_/g' \
+               -e 's/.*/const char &[] =/' > $@.tmp
+       $(AM_V_at) sed -e 's/\\/\\\\/g' \
+               -e 's/"/\\"/g' \
+               -e 's/.*/"&\\n"/' \
+               -e '$$ s/$$/;/' $< >> $@.tmp
+       $(AM_V_at) mv -f $@.tmp $@
 
-CLEANFILES += src/gui/lbxgui_xml.c
-EXTRA_DIST += src/gui/lbxgui.glade
+EXTRA_DIST += src/gui/lbxgui.glade.xml
+CLEANFILES += src/gui/lbxgui.glade.c
 
 include lib/gnulib.mk
index 7b5df61851f3c3af7d38cd5916037c4095d9b0f3..af81f0922690780418ea2c6e3831994e8d8eb574 100644 (file)
@@ -1 +1 @@
-lbxgui_xml.c
+lbxgui.glade.c
index ca6edecca16fd7737158ca2e0807d06690ca5026..9afcaa85e69b6f67e812a16fb18179b6b7da576a 100644 (file)
@@ -29,8 +29,6 @@
 
 #include "bg.xbm"
 
-extern char lbxgui_xml[];
-
 static GtkTreeStore *archives;
 static GtkBuilder *builder;
 
@@ -466,6 +464,7 @@ static void init_background(GdkDrawable *drawable)
 
 int main(int argc, char **argv)
 {
+       extern char lbxgui_glade[];
        GtkWidget *window;
        GError *err = NULL;
 
@@ -480,7 +479,7 @@ int main(int argc, char **argv)
                load_archive(*argv++);
 
        builder = gtk_builder_new();
-       if (!gtk_builder_add_from_string(builder, lbxgui_xml, -1, &err)) {
+       if (!gtk_builder_add_from_string(builder, lbxgui_glade, -1, &err)) {
                fprintf(stderr, "%s\n", err->message);
                return EXIT_FAILURE;
        }