Makefile.am revision 7baf68502f14319bdd95f80645bdcce3f60f5b67
1## Process this file with automake to produce Makefile.in 2 3# The name of the module. 4DOC_MODULE=glib 5 6# The top-level SGML file. 7DOC_MAIN_SGML_FILE=glib-docs.sgml 8 9# The directory containing the source code. Relative to $(srcdir) 10DOC_SOURCE_DIR=../../.. 11 12# Extra options to supply to gtkdoc-scan 13SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED" 14 15# Extra options to supply to gtkdoc-mkdb 16MKDB_OPTIONS=--sgml-mode --output-format=xml --ignore-files=trio 17 18# Extra options to supply to gtkdoc-fixref 19FIXXREF_OPTIONS= 20 21# Used for dependencies 22HFILE_GLOB=$(top_srcdir)/glib/*.h $(top_srcdir)/gmodule/*.h 23CFILE_GLOB=$(top_srcdir)/glib/*.c $(top_srcdir)/gmodule/*.c 24 25# Headers to ignore 26IGNORE_HFILES= \ 27 build \ 28 gobject \ 29 config.h \ 30 glibintl.h \ 31 gbsearcharray.h \ 32 gmoduleconf.h \ 33 gunibreak.h \ 34 gunicomp.h \ 35 gunidecomp.h \ 36 gunichartables.h \ 37 glibconfig-sysdefs.h \ 38 gdebug.h \ 39 gprintfint.h \ 40 trio 41 42# Extra files to add when scanning 43EXTRA_HFILES= 44 45# Images to copy into HTML directory 46HTML_IMAGES = \ 47 mainloop-states.gif 48 49# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE) 50content_files = \ 51 running.sgml \ 52 building.sgml \ 53 changes.sgml \ 54 compiling.sgml \ 55 resources.sgml \ 56 version.xml 57 58 59# Other files to distribute 60extra_files = \ 61 mainloop-states.fig \ 62 mainloop-states.png \ 63 mainloop-states.eps \ 64 version.xml.in 65 66# CFLAGS and LDFLAGS for compiling scan program. Only needed 67# if $(DOC_MODULE).types is non-empty. 68GTKDOC_CFLAGS = 69GTKDOC_LIBS = 70 71# Commands for compiling and linking 72GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC) 73GTKDOC_LD=$(LIBTOOL) --mode=link $(CC) 74 75 76#################################### 77# Everything below here is generic # 78#################################### 79 80# We set GPATH here; this gives us semantics for GNU make 81# which are more like other make's VPATH, when it comes to 82# whether a source that is a target of one rule is then 83# searched for in VPATH/GPATH. 84# 85GPATH = $(srcdir) 86 87TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) 88 89EXTRA_DIST = \ 90 $(content_files) \ 91 $(extra_files) \ 92 $(HTML_IMAGES) \ 93 $(DOC_MAIN_SGML_FILE) \ 94 $(DOC_MODULE).types \ 95 $(DOC_MODULE)-sections.txt \ 96 $(DOC_MODULE)-overrides.txt 97 98DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \ 99 $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp 100 101SCANOBJ_FILES = \ 102 $(DOC_MODULE).args \ 103 $(DOC_MODULE).hierarchy \ 104 $(DOC_MODULE).interfaces \ 105 $(DOC_MODULE).prerequisites \ 106 $(DOC_MODULE).signals 107 108if ENABLE_GTK_DOC 109all-local: html-build.stamp 110 111#### scan #### 112 113scan-build.stamp: $(HFILE_GLOB) 114 @echo '*** Scanning header files ***' 115 if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \ 116 CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ 117 else \ 118 cd $(srcdir) ; \ 119 for i in $(SCANOBJ_FILES) ; do \ 120 test -f $$i || touch $$i ; \ 121 done \ 122 fi 123 cd $(srcdir) && \ 124 gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) 125 touch scan-build.stamp 126 127$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp 128 @true 129 130#### templates #### 131 132tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt 133 @echo '*** Rebuilding template files ***' 134 cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) 135 touch tmpl-build.stamp 136 137tmpl.stamp: tmpl-build.stamp 138 @true 139 140#### sgml #### 141 142sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml 143 @echo '*** Building SGML ***' 144 cd $(srcdir) && \ 145 gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) $(MKDB_OPTIONS) 146 touch sgml-build.stamp 147 148sgml.stamp: sgml-build.stamp 149 @true 150 151#### html #### 152 153html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) 154 @echo '*** Building HTML ***' 155 rm -rf $(srcdir)/html 156 mkdir $(srcdir)/html 157 cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 158 test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) 159 @echo '-- Fixing Crossreferences' 160 cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 161 touch html-build.stamp 162endif 163 164############## 165 166clean-local: 167 rm -f *~ *.bak $(SCANOBJ_FILES) *-unused.txt $(DOC_STAMPS) 168 169maintainer-clean-local: clean 170 cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt 171 172install-data-local: 173 $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR) 174 (installfiles=`echo $(srcdir)/html/*`; \ 175 if test "$$installfiles" = '$(srcdir)/html/*'; \ 176 then echo '-- Nothing to install' ; \ 177 else \ 178 for i in $$installfiles; do \ 179 echo '-- Installing '$$i ; \ 180 $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ 181 done; \ 182 echo '-- Installing $(srcdir)/html/index.sgml' ; \ 183 $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \ 184 fi) 185 186# 187# Require gtk-doc when making dist 188# 189if ENABLE_GTK_DOC 190dist-check-gtkdoc: 191else 192dist-check-gtkdoc: 193 @echo "*** gtk-doc must be installed and enabled in order to make dist" 194 @false 195endif 196 197dist-hook: dist-check-gtkdoc dist-hook-local 198 mkdir $(distdir)/tmpl 199 mkdir $(distdir)/xml 200 mkdir $(distdir)/html 201 -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl 202 -cp $(srcdir)/sgml/*.xml $(distdir)/xml 203 -cp $(srcdir)/html/* $(distdir)/html 204 205.PHONY : dist-hook-local 206 207 208