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