summaryrefslogtreecommitdiff
path: root/libyelp/Makefile.am
blob: 01217d16c9b762a3a67bd47f7e2b062a9b12ba05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
lib_LTLIBRARIES = libyelp.la

libyelp_la_SOURCES =				\
	yelp-debug.c				\
	yelp-error.c				\
	yelp-docbook-document.c			\
	yelp-document.c				\
	yelp-info-document.c			\
	yelp-info-parser.c			\
	yelp-location-entry.c			\
	yelp-magic-decompressor.c		\
	yelp-mallard-document.c			\
	yelp-man-document.c			\
	yelp-man-parser.c			\
	yelp-marshal.c				\
	yelp-settings.c				\
	yelp-simple-document.c			\
	yelp-transform.c			\
	yelp-uri.c				\
	yelp-types.c				\
	yelp-view.c

EXTRA_DIST =				\
	yelp-bz2-decompressor.h		\
	yelp-debug.h			\
	yelp-error.h			\
	yelp-info-parser.h		\
	yelp-man-parser.h		\
	yelp-lzma-decompressor.h	\
	yelp-magic-decompressor.h	\
	yelp-marshal.list

if ENABLE_LZMA
libyelp_la_SOURCES += yelp-lzma-decompressor.c
else
EXTRA_DIST += yelp-lzma-decompressor.c
endif

if ENABLE_BZ2
libyelp_la_SOURCES += yelp-bz2-decompressor.c
else
EXTRA_DIST += yelp-bz2-decompressor.c
endif

libyelp_la_CFLAGS =				\
	$(YELP_CFLAGS)				\
	-DDATADIR=\""$(datadir)"\"		\
	-DYELP_ICON_PATH=\"$(YELP_ICON_PATH)\"

libyelp_la_LIBADD =				\
	$(YELP_LIBS)

libyelp_headers =				\
	yelp-docbook-document.h			\
	yelp-document.h				\
	yelp-info-document.h			\
	yelp-location-entry.h			\
	yelp-mallard-document.h			\
	yelp-man-document.h			\
	yelp-settings.h				\
	yelp-simple-document.h			\
	yelp-transform.h			\
	yelp-uri.h				\
	yelp-view.h

libyelp_includedir = $(includedir)/libyelp/

libyelp_include_HEADERS =			\
	$(libyelp_headers)			\
	yelp-types.h

BUILT_SOURCES =			\
	stamp-yelp-marshal.h	\
	yelp-marshal.c		\
	yelp-marshal.h		\
	yelp-types.c		\
	yelp-types.h

yelp-marshal.h: stamp-yelp-marshal.h
	@true

stamp-yelp-marshal.h: yelp-marshal.list
	$(AM_V_GEN) glib-genmarshal --prefix=yelp_marshal $(srcdir)/yelp-marshal.list --header > xgen-ymh \
	&& (cmp -s xgen-ymh yelp-marshal.h || cp xgen-ymh yelp-marshal.h) \
	&& rm -f xgen-ymh xgen-ymh~ \
	&& echo timestamp > $(@F)

yelp-marshal.c: yelp-marshal.list
	$(AM_V_GEN) glib-genmarshal --prefix=yelp_marshal $(srcdir)/yelp-marshal.list --body > xgen-ymc \
	&& cp xgen-ymc yelp-marshal.c \
	&& rm -f xgen-ymc xgen-ymc~

yelp-marshal-main.c: yelp-marshal.c

CLEANFILES = $(BUILT_SOURCES)

yelp-types.h: $(libyelp_headers)
	$(AM_V_GEN) (cd $(srcdir) && glib-mkenums \
	--fhead "#ifndef __LIBYELP_TYPES_H__\n" \
	--fhead "#define __LIBYELP_TYPES_H__\n\n" \
	--fhead "#include <glib-object.h>\n\n" \
	--fhead "G_BEGIN_DECLS\n\n" \
	--ftail "G_END_DECLS\n\n" \
	--ftail "#endif /* __LIBYELP_TYPES_H__ */\n" \
	--fprod "#include \"@filename@\"\n" \
	--eprod "#define YELP_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \
	--eprod "GType @enum_name@_get_type (void);\n" \
	$(libyelp_headers)) > $@

yelp-types.c: $(libyelp_headers)
	$(AM_V_GEN) (cd $(srcdir) && glib-mkenums \
	--fhead "#include <glib-object.h>\n" \
	--fhead "#include \"yelp-types.h\"\n\n" \
	--fprod "\n/* enumerations from \"@filename@\" */" \
	--vhead "static const G@Type@Value _@enum_name@_values[] = {" \
	--vprod "  { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
	--vtail "  { 0, NULL, NULL }\n};\n\n" \
	--vtail "GType\n@enum_name@_get_type (void)\n{\n" \
	--vtail "  static GType type = 0;\n\n" \
	--vtail "  if (!type)\n" \
	--vtail "    type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \
	--vtail "  return type;\n}\n\n" \
	$(libyelp_headers)) > $@