From 313abcb87669a8fd631f331fc94f749b838f3710 Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Sat, 23 Mar 2013 12:28:55 -0400 Subject: [PATCH] build: clean up XML -> C conversion. Use a suffix rule so the rule avoids hardcoding names and other details. --- Makefile.am | 19 +++++++++++-------- src/gui/.gitignore | 2 +- src/gui/lbxgui.c | 5 ++--- src/gui/{lbxgui.glade => lbxgui.glade.xml} | 0 4 files changed, 14 insertions(+), 12 deletions(-) rename src/gui/{lbxgui.glade => lbxgui.glade.xml} (100%) diff --git a/Makefile.am b/Makefile.am index 0eaf49e..ff0b4a1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 diff --git a/src/gui/.gitignore b/src/gui/.gitignore index 7b5df61..af81f09 100644 --- a/src/gui/.gitignore +++ b/src/gui/.gitignore @@ -1 +1 @@ -lbxgui_xml.c +lbxgui.glade.c diff --git a/src/gui/lbxgui.c b/src/gui/lbxgui.c index ca6edec..9afcaa8 100644 --- a/src/gui/lbxgui.c +++ b/src/gui/lbxgui.c @@ -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; } diff --git a/src/gui/lbxgui.glade b/src/gui/lbxgui.glade.xml similarity index 100% rename from src/gui/lbxgui.glade rename to src/gui/lbxgui.glade.xml -- 2.43.0