Makefile.am 4.28 KB
Newer Older
1 2
## Process this file with automake to produce Makefile.in

Manish Singh's avatar
Manish Singh committed
3 4 5 6
libgimpbase = $(top_builddir)/libgimpbase/libgimpbase-$(GIMP_API_VERSION).la
libgimpcolor = $(top_builddir)/libgimpcolor/libgimpcolor-$(GIMP_API_VERSION).la
libgimpmath = $(top_builddir)/libgimpmath/libgimpmath-$(GIMP_API_VERSION).la

7 8 9 10 11 12
if PLATFORM_WIN32
no_undefined = -no-undefined
endif

if OS_WIN32
gimpconfig_def = gimpconfig.def
13
libgimpconfig_export_symbols = -export-symbols $(srcdir)/gimpconfig.def
14 15 16

install-libtool-import-lib:
	$(INSTALL) .libs/libgimpconfig-$(GIMP_API_VERSION).dll.a $(DESTDIR)$(libdir)
17
	$(INSTALL) $(srcdir)/gimpconfig.def $(DESTDIR)$(libdir)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

uninstall-libtool-import-lib:
	-rm $(DESTDIR)$(libdir)/libgimpconfig-$(GIMP_API_VERSION).dll.a
	-rm $(DESTDIR)$(libdir)/gimpconfig.def
else
install-libtool-import-lib:
uninstall-libtool-import-lib:
endif

if MS_LIB_AVAILABLE
noinst_DATA = gimpconfig-$(GIMP_API_VERSION).lib

install-ms-lib:
	$(INSTALL) gimpconfig-$(GIMP_API_VERSION).lib $(DESTDIR)$(libdir)

uninstall-ms-lib:
	-rm $(DESTDIR)$(libdir)/gimpconfig-$(GIMP_API_VERSION).lib

gimpconfig-@GIMP_API_VERSION@.lib: gimpconfig.def
	lib -name:libgimpconfig-$(GIMP_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gimpconfig.def -out:$@

else
install-ms-lib:
uninstall-ms-lib:
endif

libgimpconfigincludedir = $(includedir)/gimp-$(GIMP_API_VERSION)/libgimpconfig

AM_CPPFLAGS = \
47
	-DG_LOG_DOMAIN=\"LibGimpConfig\"	\
48 49
	-DGIMP_CONFIG_COMPILATION		\
	-I$(top_srcdir)				\
50 51
	$(GIO_UNIX_CFLAGS)			\
	$(GIO_WINDOWS_CFLAGS)			\
52 53 54
	$(GEGL_CFLAGS)				\
	$(CAIRO_CFLAGS)				\
	$(GDK_PIXBUF_CFLAGS)			\
55 56 57 58 59
	-I$(includedir)

EXTRA_DIST = \
	gimpconfig.def

60
lib_LTLIBRARIES = libgimpconfig-@GIMP_API_VERSION@.la
61

62 63 64
AUTOMAKE_OPTIONS = subdir-objects
include $(top_srcdir)/libgimpconfig/Makefile.gi

65 66
libgimpconfig_sources = 		\
	gimpconfig.h			\
67
	$(libgimpconfig_introspectable)
68

69
libgimpconfig_built_sources = \
70
	gimpconfigenums.c
71

72 73 74
libgimpconfig_@GIMP_API_VERSION@_la_SOURCES = \
	$(libgimpconfig_sources)	\
	$(libgimpconfig_built_sources)
75 76

libgimpconfiginclude_HEADERS = \
77
	gimpconfig.h			\
78
	$(libgimpconfig_introspectable_headers)
79

80
libgimpconfig_@GIMP_API_VERSION@_la_LDFLAGS = \
81 82 83 84
	-version-info $(LT_VERSION_INFO)	\
	$(no_undefined) 			\
	$(libgimpconfig_export_symbols)

85
EXTRA_libgimpconfig_@GIMP_API_VERSION@_la_DEPENDENCIES = $(gimpconfig_def)
86

87
libgimpconfig_@GIMP_API_VERSION@_la_LIBADD = \
88 89 90 91 92 93 94
	$(libgimpbase)		\
	$(libgimpcolor)		\
	$(libgimpmath)		\
	$(GIO_UNIX_LIBS)	\
	$(GIO_WINDOWS_LIBS)	\
	$(GEGL_LIBS)		\
	$(CAIRO_LIBS)		\
95
	$(GDK_PIXBUF_LIBS)
96 97 98 99 100 101 102 103 104 105 106


install-data-local: install-ms-lib install-libtool-import-lib

uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib


#
# rules to generate built sources
#

107
gen_sources = xgen-cec
108 109
CLEANFILES = $(gen_sources)

110
xgen-cec: $(srcdir)/gimpconfigenums.h $(GIMP_MKENUMS) Makefile.am
111
	$(AM_V_GEN) $(GIMP_MKENUMS) \
112
		--fhead "#include \"config.h\"\n#include <gio/gio.h>\n#include \"libgimpbase/gimpbase.h\"\n#include \"gimpconfigenums.h\"\n#include \"libgimp/libgimp-intl.h\"" \
113
		--fprod "\n/* enumerations from \"@basename@\" */" \
114 115 116 117
		--vhead "GType\n@enum_name@_get_type (void)\n{\n  static const G@Type@Value values[] =\n  {" \
		--vprod "    { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
		--vtail "    { 0, NULL, NULL }\n  };\n" \
		--dhead "  static const Gimp@Type@Desc descs[] =\n  {" \
118
		--dprod "    { @VALUENAME@, @valuedesc@, @valuehelp@ },@if ('@valueabbrev@' ne 'NULL')@\n    /* Translators: this is an abbreviated version of @valueudesc@.\n       Keep it short. */\n    { @VALUENAME@, @valueabbrev@, NULL },@endif@" \
119
		--dtail "    { 0, NULL, NULL }\n  };\n\n  static GType type = 0;\n\n  if (G_UNLIKELY (! type))\n    {\n      type = g_@type@_register_static (\"@EnumName@\", values);\n      gimp_type_set_translation_domain (type, GETTEXT_PACKAGE \"-libgimp\");\n      gimp_type_set_translation_context (type, \"@enumnick@\");\n      gimp_@type@_set_value_descriptions (type, descs);\n    }\n\n  return type;\n}\n" \
120
		$< > $@
121

122 123 124 125
# copy the generated enum file back to the source directory only if it's
# changed; otherwise, only update its timestamp, so that the recipe isn't
# executed again on the next build, however, allow this to (harmlessly) fail,
# to support building from a read-only source tree.
126 127 128 129 130 131 132
$(srcdir)/gimpconfigenums.c: xgen-cec
	$(AM_V_GEN) if ! cmp -s $< $@; then \
		cp $< $@; \
	else \
		touch $@ 2> /dev/null \
		|| true; \
	fi