-lib_LTLIBRARIES += engine.la
-engine_la_SOURCES = engine/music.c engine/texture.c engine/engine.c
-engine_la_CFLAGS = $(GLIB_CFLAGS)
-engine_la_LIBADD = $(GLIB_LIBS)
-engine_la_LDFLAGS = -module -avoid-version -export-symbols-regex _LTX_
+noinst_HEADERS += engine/texture.h engine/music.h engine/music-module.h
+
+engine_GOBS = engine/palette.gob
+
+EXTRA_DIST += $(engine_GOBS) $(engine_GOBS:.gob=.gobstamp)
+noinst_HEADERS += $(engine_GOBS:.gob=.h)
+MAINTAINERCLEANFILES += $(engine_GOBS:.gob=.gobstamp) \
+ $(engine_GOBS:.gob=.c) $(engine_GOBS:.gob=.h)
+
+pkglib_LTLIBRARIES += engine.la
+engine_la_SOURCES = engine/engine.c engine/music.c engine/texture.c \
+ $(engine_GOBS:.gob=.c)
+engine_la_CFLAGS = $(GLIB_CFLAGS)
+engine_la_LIBADD = $(GLIB_LIBS)
+engine_la_LDFLAGS = -module -avoid-version -export-symbols-regex _LTX_
+
+# Force all GOB objects to be generated before building anything.
+$(engine_la_OBJECTS): $(orderonly) $(engine_GOBS:.gob=.gobstamp)