Makefile.am 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412
  1. # This Makefile.am is in the public domain
  2. ACLOCAL_AMFLAGS = -I m4
  3. SUBDIRS = contrib m4 src .
  4. if BUILD_DOC
  5. SUBDIRS += doc
  6. endif
  7. W32COMMON = w32/common/gen_dll_res.ps1 w32/common/microhttpd_dll_res_vc.rc.in w32/common/microhttpd_dll_res_vc.rc \
  8. w32/common/MHD_config.h w32/common/vs_dirs.props w32/common/common-build-settings.vcxproj \
  9. w32/common/libmicrohttpd-build-settings.vcxproj w32/common/libmicrohttpd-files.vcxproj w32/common/libmicrohttpd-filters.vcxproj \
  10. w32/common/hellobrowser-files.vcxproj w32/common/hellobrowser-filters.vcxproj \
  11. w32/common/apps-build-settings.vcxproj
  12. W32VS2013 = w32/VS2013/libmicrohttpd.vcxproj w32/VS2013/libmicrohttpd.vcxproj.filters \
  13. w32/VS2013/hellobrowser.vcxproj w32/VS2013/hellobrowser.vcxproj.filters \
  14. w32/VS2013/simplepost.vcxproj w32/VS2013/largepost.vcxproj \
  15. w32/VS2013/libmicrohttpd.sln
  16. W32VS2015 = w32/VS2015/libmicrohttpd.vcxproj w32/VS2015/libmicrohttpd.vcxproj.filters \
  17. w32/VS2015/hellobrowser.vcxproj w32/VS2015/hellobrowser.vcxproj.filters \
  18. w32/VS2015/simplepost.vcxproj w32/VS2015/largepost.vcxproj \
  19. w32/VS2015/libmicrohttpd.sln
  20. W32VS2017 = w32/VS2017/libmicrohttpd.vcxproj w32/VS2017/libmicrohttpd.vcxproj.filters \
  21. w32/VS2017/hellobrowser.vcxproj w32/VS2017/hellobrowser.vcxproj.filters \
  22. w32/VS2017/simplepost.vcxproj w32/VS2017/largepost.vcxproj \
  23. w32/VS2017/libmicrohttpd.sln
  24. W32VS2019 = w32/VS2019/libmicrohttpd.vcxproj w32/VS2019/libmicrohttpd.vcxproj.filters \
  25. w32/VS2019/hellobrowser.vcxproj w32/VS2019/hellobrowser.vcxproj.filters \
  26. w32/VS2019/simplepost.vcxproj w32/VS2019/largepost.vcxproj \
  27. w32/VS2019/libmicrohttpd.sln
  28. W32VS2022 = w32/VS2022/libmicrohttpd.vcxproj w32/VS2022/libmicrohttpd.vcxproj.filters \
  29. w32/VS2022/hellobrowser.vcxproj w32/VS2022/hellobrowser.vcxproj.filters \
  30. w32/VS2022/simplepost.vcxproj w32/VS2022/largepost.vcxproj \
  31. w32/VS2022/libmicrohttpd.sln
  32. W32VSAV = w32/VS-Any-Version/libmicrohttpd.vcxproj w32/VS-Any-Version/libmicrohttpd.vcxproj.filters \
  33. w32/VS-Any-Version/hellobrowser.vcxproj w32/VS-Any-Version/hellobrowser.vcxproj.filters \
  34. w32/VS-Any-Version/simplepost.vcxproj w32/VS-Any-Version/largepost.vcxproj \
  35. w32/VS-Any-Version/libmicrohttpd.sln
  36. EXTRA_DIST = \
  37. libmicrohttpd.pc.in \
  38. $(W32COMMON) $(W32VS2013) $(W32VS2015) $(W32VS2017) \
  39. $(W32VS2019) $(W32VS2022) $(W32VSAV)
  40. pkgconfigdir = $(libdir)/pkgconfig
  41. pkgconfig_DATA = libmicrohttpd.pc
  42. EXTRA_DIST += pre-dist-hook-dummy
  43. MOSTLYCLEANFILES = pre-dist-hook-dummy
  44. DISTCLEANFILES =
  45. MAINTAINERCLEANFILES = m4/c_backported.m4
  46. pre-dist-hook-dummy: pre-dist-hook Makefile
  47. @echo "dummy" > $@
  48. dist-hook: dist-po
  49. @chmod u+w '$(distdir)/pre-dist-hook-dummy' && \
  50. rm -f '$(distdir)/pre-dist-hook-dummy'
  51. @rm -f pre-dist-hook-dummy
  52. @if test -w '$(distdir)/m4/c_backported.m4'; then \
  53. echo "Use empty m4/c_backported.m4 for dist target"; \
  54. touch -r '$(distdir)/m4/c_backported.m4' '$(distdir)/m4/c_backported.m4-tmst' && \
  55. echo '# Not used for distribution' > '$(distdir)/m4/c_backported.m4' && \
  56. touch -r '$(distdir)/m4/c_backported.m4-tmst' '$(distdir)/m4/c_backported.m4' && \
  57. rm -f '$(distdir)/m4/c_backported.m4-tmst'; \
  58. else \
  59. true; \
  60. fi
  61. pre-dist-hook: pre-dist-hook-doc
  62. @echo "Preparing to make dist"
  63. pre-dist-hook-doc:
  64. @echo "Preparing to make dist in doc"
  65. @if test -w '$(top_srcdir)/doc' ; then \
  66. $(am__cd) doc && $(MAKE) $(AM_MAKEFLAGS) update-stamp; \
  67. else \
  68. echo "Source tree is read-only, skipping force doc update"; \
  69. fi;
  70. .PHONY: pre-dist-hook pre-dist-hook-doc
  71. # Works with old automake versions (<1.12.2) as "false"
  72. MHD_V = $(AM_V_P) false
  73. distclean-local: distclean-po
  74. maintainer-clean-local: maintainer-clean-po
  75. srcdir_po = $(top_srcdir)/po
  76. PO_ACLOCAL_M4 = $(srcdir_po)/aclocal.m4
  77. PO_MAIN_FILES = $(srcdir_po)/Makefile.in.in $(srcdir_po)/remove-potcdate.sin \
  78. $(srcdir_po)/quot.sed $(srcdir_po)/boldquot.sed \
  79. $(srcdir_po)/en@quot.header $(srcdir_po)/en@boldquot.header \
  80. $(srcdir_po)/insert-header.sin $(srcdir_po)/Rules-quot
  81. PO_EXTRA_FILES = $(srcdir_po)/Makevars.template
  82. PO_ROOT_FILES = $(srcdir_po)/ABOUT-NLS
  83. PO_M4_FILES = $(srcdir_po)/m4/gettext.m4 $(srcdir_po)/m4/host-cpu-c-abi.m4 \
  84. $(srcdir_po)/m4/iconv.m4 $(srcdir_po)/m4/intlmacosx.m4 \
  85. $(srcdir_po)/m4/lib-ld.m4 $(srcdir_po)/m4/lib-link.m4 \
  86. $(srcdir_po)/m4/lib-prefix.m4 $(srcdir_po)/m4/nls.m4 \
  87. $(srcdir_po)/m4/po.m4 $(srcdir_po)/m4/progtest.m4
  88. PO_AUX_FILES = $(srcdir_po)/$(MHD_AUX_DIR)/config.rpath
  89. # All autopoint-created files
  90. PO_ALL_FILES = $(PO_MAIN_FILES) $(PO_EXTRA_FILES) $(PO_ROOT_FILES) \
  91. $(PO_M4_FILES) $(PO_AUX_FILES)
  92. am__po_aclocal_m4_deps = $(PO_M4_FILES) $(srcdir_po)/configure.ac
  93. am__po_configure_deps = $(am__po_aclocal_m4_deps) $(PO_ACLOCAL_M4)
  94. $(PO_ACLOCAL_M4): $(am__po_aclocal_m4_deps)
  95. @{ $(MHD_V) && echo "Building $@" ; } || true
  96. @echo "cd $(srcdir_po) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)" && \
  97. $(am__cd) '$(srcdir_po)' && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
  98. # Do update po/configure.ac only if template files updated
  99. $(srcdir_po)/configure.ac: $(srcdir_po)/po-configure.ac.in $(top_srcdir)/configure.ac
  100. @{ $(MHD_V) && echo "Building $@" ; } || true
  101. @$(MAKE) $(AM_MAKEFLAGS) po/po-configure.ac
  102. @cp -f po/po-configure.ac '$@'
  103. $(top_srcdir)/po-configure: $(srcdir_po)/configure.ac $(PO_ACLOCAL_M4) $(PO_AUX_FILES) $(srcdir_po)/$(MHD_AUX_DIR)/install-sh
  104. @{ $(MHD_V) && echo "Building $@" ; } || true
  105. @echo "cd $(srcdir_po) && $(AUTOCONF)" && \
  106. ( $(am__cd) '$(srcdir_po)' && $(AUTOCONF) )
  107. mv -f '$(srcdir_po)/configure' '$@'
  108. -chmod a-x '$@'
  109. EXTRA_DIST += $(top_srcdir)/$(MHD_AUX_DIR)/config.rpath $(srcdir_po)/$(MHD_AUX_DIR)/install-sh \
  110. $(PO_ALL_FILES) \
  111. $(PO_ACLOCAL_M4) \
  112. $(srcdir_po)/po-configure.ac.in $(srcdir_po)/configure.ac \
  113. $(top_srcdir)/po-configure \
  114. $(srcdir_po)/stamp-m.in
  115. DISTCLEANFILES += config.main.log po-config.log po/stamp-m
  116. MAINTAINERCLEANFILES += $(srcdir_po)/configure.ac
  117. $(srcdir_po)/stamp-m.in:
  118. @: > '$@'
  119. po-config.status: $(top_srcdir)/po-configure $(top_srcdir)/$(MHD_AUX_DIR)/install-sh $(top_srcdir)/$(MHD_AUX_DIR)/config.rpath
  120. @if test -f config.log; then \
  121. mv -f config.log config.main.log; \
  122. else \
  123. true; \
  124. fi
  125. @SHELL@ '$(top_srcdir)/po-configure' $(ac_configure_args) --silent --no-create --no-recursion --disable-option-checking
  126. @mv -f config.log po-config.log
  127. @if test -f config.main.log; then \
  128. mv -f config.main.log config.log; \
  129. else \
  130. true; \
  131. fi
  132. po/Makefile: $(srcdir_po)/Makefile.in.in $(srcdir_po)/Makevars po-config.status $(srcdir_po)/POTFILES.in $(srcdir_po)/stamp-m.in
  133. @: && @SHELL@ ./po-config.status po/stamp-m po/Makefile.in po-directories
  134. dist-po: po/Makefile $(PO_MAIN_FILES)
  135. @dir1="po"; dir2="$(distdir)/po"; \
  136. $(am__relativize); \
  137. rel_distsubdir=$$reldir; \
  138. echo "cd po && $(MAKE) $(AM_MAKEFLAGS) distdir='$$rel_distsubdir' distdir" && \
  139. $(am__cd) po && $(MAKE) $(AM_MAKEFLAGS) distdir="$$rel_distsubdir" distdir
  140. $(srcdir_po)/POTFILES.in: $(top_srcdir)/src/microhttpd/Makefile.am
  141. @echo "cd $(top_builddir)/src/microhttpd && $(MAKE) $(AM_MAKEFLAGS) update-po-POTFILES.in" && \
  142. $(am__cd) '$(top_builddir)/src/microhttpd' && $(MAKE) $(AM_MAKEFLAGS) update-po-POTFILES.in
  143. AUTOPOINT = autopoint
  144. AUTOPOINT_FLAGS =
  145. APIM_LOCK_BASE = autopoint-updating-lock
  146. APIM_TMSTMP_BASE = autopoint-timestamp
  147. APIM_TMSTMP_TMP_BASE = $(APIM_TMSTMP_BASE)-tmp
  148. APIM_TRIGGER_BASE = autopoint-trigger
  149. APIM_LOCK = $(srcdir_po)/$(APIM_LOCK_BASE)
  150. APIM_TMSTMP = $(srcdir_po)/$(APIM_TMSTMP_BASE)
  151. APIM_TMSTMP_TMP = $(srcdir_po)/$(APIM_TMSTMP_TMP_BASE)
  152. APIM_TRIGGER = $(srcdir_po)/$(APIM_TRIGGER_BASE)
  153. # Run 'autopoint' even if no file missing
  154. FORCE_AUTOPOINT_CHECK = no
  155. LOCK_TIMEOUT_VALUE = 120
  156. EXTRA_DIST += $(APIM_TMSTMP) $(APIM_TRIGGER)
  157. sleep_with_timeout = \
  158. sleep 1; \
  159. sec_waiting=`expr ${sec_waiting} + 1`; \
  160. if test $${sec_waiting} -gt '$(LOCK_TIMEOUT_VALUE)'; then \
  161. echo "Waiting timeout" 1>&2; \
  162. rmdir "$${lock_name}" ; \
  163. exit 1; \
  164. fi
  165. wait_for_unlock = \
  166. test -n "$${lock_name}" || lock_name='$(APIM_LOCK)'; \
  167. if test -d "$${lock_name}"; then \
  168. { $(MHD_V) && \
  169. echo "Autopoint files are being updated in parallel thread, wait"; } || : ; \
  170. sec_waiting=0; \
  171. while test -d "$${lock_name}"; do \
  172. $(sleep_with_timeout) ; \
  173. done; \
  174. fi
  175. apim_prepare = \
  176. $(am__cd) '$(srcdir_po)' || exit 1; \
  177. lock_name='$(APIM_LOCK_BASE)'; \
  178. { trap "rm -rf $(APIM_TMSTMP_BASE) $(APIM_TMSTMP_TMP_BASE) $${lock_name} po" HUP ABRT INT TERM 2>/dev/null && \
  179. trap "rm -rf $(APIM_TMSTMP_BASE) $(APIM_TMSTMP_TMP_BASE) $${lock_name} po" PIPE 2>/dev/null ; } || \
  180. trap "rm -rf $(APIM_TMSTMP_BASE) $(APIM_TMSTMP_TMP_BASE) $${lock_name} po" 1 2 13 15; \
  181. lock_held='false'; \
  182. sec_waiting=0; \
  183. while : ; do \
  184. if mkdir "$${lock_name}" 2>/dev/null; then lock_held=':' ; else : ; fi; \
  185. $${lock_held} && break || : ; \
  186. test 'xyes' = 'x$(FORCE_AUTOPOINT_CHECK)' || break ; \
  187. $(sleep_with_timeout) ; \
  188. done; \
  189. if $${lock_held} ; then \
  190. rm -f '$(APIM_TMSTMP_BASE)' '$(APIM_TMSTMP_TMP_BASE)' || exit 1; \
  191. echo 'timestamp' > '$(APIM_TMSTMP_TMP_BASE)' || exit 1; \
  192. if test 'xyes' = 'x$(FORCE_AUTOPOINT_CHECK)'; then \
  193. call_autopoint=':'; check_all='false'; \
  194. else \
  195. call_autopoint='false'; check_all=':'; \
  196. fi; \
  197. if $(MHD_V) ; then apim_echo='echo' ; else apim_echo=':'; fi ;\
  198. $$apim_echo "Sync autopoint files"; \
  199. files_missing='false'; \
  200. $(MKDIR_P) 'po'; \
  201. $(MKDIR_P) '$(MHD_AUX_DIR)'; \
  202. main_f_names=`for f in $(PO_MAIN_FILES) $(PO_EXTRA_FILES); do echo "$$f"; done | $(SED) -e 's|^.*/||'`; \
  203. root_f_names=`for f in $(PO_ROOT_FILES); do echo "$$f"; done | $(SED) -e 's|^.*/||'`; \
  204. m4_f_names=`for f in $(PO_M4_FILES); do echo "$$f"; done | $(SED) -e 's|^.*/||'`; \
  205. aux_f_names=`for f in $(PO_AUX_FILES); do echo "$$f"; done | $(SED) -e 's|^.*/||'`; \
  206. for f in $${main_f_names}; do \
  207. if test -f "$$f"; then \
  208. cp -f "$$f" "po/$$f" ; \
  209. else \
  210. $$apim_echo "Missing $(srcdir_po)/$$f" ; \
  211. files_missing=':' ; \
  212. fi; \
  213. done; \
  214. if $${check_all} ; then \
  215. for f in $${root_f_names}; do \
  216. if test -f "./$$f"; then : ; \
  217. else \
  218. $$apim_echo "Missing $(srcdir_po)/$$f" ; \
  219. files_missing=':' ; \
  220. fi; \
  221. done; \
  222. for f in $${m4_f_names}; do \
  223. if test -f "m4/$$f"; then : ; \
  224. else \
  225. $$apim_echo "Missing $(srcdir_po)/m4/$$f" ; \
  226. files_missing=':' ; \
  227. fi; \
  228. done; \
  229. for f in $${aux_f_names}; do \
  230. if test -f "$(MHD_AUX_DIR)/$$f"; then : ;\
  231. else \
  232. $$apim_echo "Missing $(srcdir_po)/$(MHD_AUX_DIR)/$$f" ; \
  233. files_missing=':' ; \
  234. fi; \
  235. done; \
  236. fi; \
  237. if $${files_missing} ; then \
  238. call_autopoint=':' ; \
  239. $$apim_echo "Some files are missing, call autopoint to restore them" ; \
  240. elif $${call_autopoint}; then $$apim_echo "Check and update autopoint files" ; \
  241. fi; \
  242. rc_code=0; \
  243. if $${call_autopoint} ; then \
  244. echo ' cd $(srcdir_po) && $(AUTOPOINT) $(AUTOPOINT_FLAGS)'; \
  245. '$(AUTOPOINT)' $(AUTOPOINT_FLAGS) || rc_code=1; \
  246. fi; \
  247. if test "$${rc_code}" = "0"; then \
  248. $$apim_echo "Re-sync autopoint files back"; \
  249. for f in $${aux_f_names}; do \
  250. if test -f "$(MHD_AUX_DIR)/$$f"; then \
  251. touch -f "$(MHD_AUX_DIR)/$$f" && \
  252. cp -f "$(MHD_AUX_DIR)/$$f" "../$(MHD_AUX_DIR)/$$f"; \
  253. else \
  254. $$apim_echo "Still missing $(srcdir_po)/$(MHD_AUX_DIR)/$$f" 1>&2 ; \
  255. rc_code=1; \
  256. fi; \
  257. done; \
  258. for f in $${m4_f_names}; do \
  259. if test -f "m4/$$f"; then \
  260. touch "m4/$$f"; \
  261. else \
  262. $$apim_echo "Still missing $(srcdir_po)/m4/$$f" 1>&2 ; \
  263. rc_code=1; \
  264. fi; \
  265. done; \
  266. for f in $${root_f_names}; do \
  267. if test -f "./$$f"; then \
  268. touch "./$$f"; \
  269. else \
  270. $$apim_echo "Still missing $(srcdir_po)/$$f" 1>&2 ; \
  271. rc_code=1; \
  272. fi; \
  273. done; \
  274. for f in $${main_f_names}; do \
  275. if test -f "po/$$f"; then \
  276. cp -f "po/$$f" "$$f"; \
  277. else \
  278. $$apim_echo "Still missing $(srcdir_po)/$$f" 1>&2 ; \
  279. rc_code=1; \
  280. fi; \
  281. done; \
  282. fi; \
  283. if test $${rc_code} = 0; then \
  284. cp -fp '$(APIM_TMSTMP_TMP_BASE)' '$(APIM_TMSTMP_BASE)' ; \
  285. touch -r '$(APIM_TMSTMP_TMP_BASE)' '$(APIM_TMSTMP_BASE)' ; \
  286. $$apim_echo "All autopoint files have been synced"; \
  287. rm -f '$(APIM_TMSTMP_TMP_BASE)'; \
  288. else \
  289. rm -f '$(APIM_TMSTMP_BASE)' '$(APIM_TMSTMP_TMP_BASE)'; \
  290. fi; \
  291. rm -fr 'po'; \
  292. rmdir "$${lock_name}"; \
  293. exit $${rc_code} ; \
  294. else \
  295. $(wait_for_unlock) ; \
  296. test -f '$(APIM_TMSTMP_BASE)' || exit 1; \
  297. fi; \
  298. :
  299. mostlyclean-local: mostlyclean-autopoint-update
  300. mostlyclean-autopoint-update:
  301. -test -d '$(APIM_LOCK)' && rm -rf '$(APIM_LOCK)'
  302. -test -d '$(srcdir_po)/po' && rm -rf '$(srcdir_po)/po'
  303. rm -f '$(APIM_TMSTMP_TMP)'
  304. $(APIM_TRIGGER):
  305. @echo "autopoint files rebuild trigger" > "$@"
  306. $(APIM_TMSTMP): $(srcdir_po)/configure.ac $(APIM_TRIGGER)
  307. @ $(apim_prepare)
  308. .DELETE_ON_ERROR: $(APIM_TMSTMP)
  309. $(PO_ALL_FILES): $(APIM_TMSTMP) $(srcdir_po)/configure.ac
  310. @ ( $(apim_prepare) )
  311. @test -f '$@'
  312. prepare-autopoint: $(srcdir_po)/configure.ac
  313. @ ( $(apim_prepare) )
  314. @test -f '$(APIM_TMSTMP)'
  315. check-prepare-autopoint: $(srcdir_po)/$(MHD_AUX_DIR)/install-sh $(APIM_TMSTMP)
  316. @echo "Check all autopoint files"; \
  317. files_missing='false'; \
  318. for f in $(PO_ALL_FILES); do \
  319. if test -f "$$f"; then : ; \
  320. else \
  321. echo "Missing $$f" ; \
  322. files_missing=':' ; \
  323. fi; \
  324. done; \
  325. if $${files_missing}; then \
  326. $(MAKE) $(AM_MAKEFLAGS) prepare-autopoint || exit 1; \
  327. else \
  328. exit 0; \
  329. fi
  330. # This could be used to update autopoint files for git or for 'dist' target
  331. update-autopoint-force:
  332. $(MAKE) $(AM_MAKEFLAGS) 'FORCE_AUTOPOINT_CHECK=yes' 'AUTOPOINT_FLAGS=$(AUTOPOINT_FLAGS) -f' prepare-autopoint
  333. autopoint-files-all: $(APIM_TRIGGER) $(APIM_TMSTMP) $(PO_MAIN_FILES) $(PO_EXTRA_FILES) $(PO_M4_FILES) $(PO_AUX_FILES) $(srcdir_po)/$(MHD_AUX_DIR)/install-sh
  334. $(top_srcdir)/$(MHD_AUX_DIR)/config.rpath: $(srcdir_po)/$(MHD_AUX_DIR)/config.rpath
  335. cp -f '$(srcdir_po)/$(MHD_AUX_DIR)/config.rpath' '$@'
  336. $(srcdir_po)/$(MHD_AUX_DIR)/install-sh: $(top_srcdir)/$(MHD_AUX_DIR)/install-sh
  337. $(MKDIR_P) '$(srcdir_po)/$(MHD_AUX_DIR)'
  338. cp -f '$(top_srcdir)/$(MHD_AUX_DIR)/install-sh' '$@'
  339. .PHONY: mostlyclean-autopoint-update prepare-autopoint update-autopoint-force check-prepare-autopoint autopoint-files-all
  340. distclean-po:
  341. @( if test -f po/Makefile; then \
  342. $(am__cd) po && $(MAKE) $(AM_MAKEFLAGS) distclean; \
  343. else \
  344. true; \
  345. fi )
  346. -rm -f po-config.status po/Makefile po/stamp-m
  347. -rm -f po/POTFILES po/remove-potcdate.sed po/Makefile.in
  348. maintainer-clean-po:
  349. @( if test -f po/Makefile; then \
  350. $(am__cd) po && $(MAKE) $(AM_MAKEFLAGS) maintainer-clean; \
  351. else \
  352. true; \
  353. fi )
  354. -rm -f po/$(PACKAGE_TARNAME).pot
  355. -rm -rf $(srcdir_po)/autom4te.cache
  356. .PHONY: distclean-po maintainer-clean-po