| # |
| # Copyright (C) 2017 and later: Unicode, Inc. and others. |
| # License & terms of use: http://www.unicode.org/copyright.html |
| # |
| # Copyright (C) 2009-2013 IBM and Others. All Rights Reserved |
| |
| # |
| # |
| # |
| #Usage: |
| # make OLD_ICU=/xsrl/E/401m40 NEW_ICU=/xsrl/E/icu4ct42 |
| # |
| # you can put the OLD_ICU=xx and NEW_ICU=yy in separate lines in Makefile.local |
| # |
| |
| ANT=ant |
| ANT_TARGET=apireport |
| DOXYGEN=doxygen |
| |
| -include Makefile.local |
| |
| TARGET=APIChangeReport.html |
| MD_TARGET=APIChangeReport.md |
| |
| NOTSET= |
| |
| ifeq ($(OLD_ICU),) |
| NOTSET:="$(NOTSET) OLD_ICU" |
| endif |
| |
| ifeq ($(NEW_ICU),) |
| NOTSET:="$(NOTSET) NEW_ICU" |
| endif |
| |
| ifeq ($(NEW_ICU_BUILD),) |
| NEW_ICU_BUILD:=$(NEW_ICU)/source |
| endif |
| |
| ifeq ($(OLD_ICU_BUILD),) |
| OLD_ICU_BUILD:=$(OLD_ICU)/source |
| endif |
| |
| all: $(TARGET) $(LOCAL_TARGET) $(MD_TARGET) |
| |
| # auto "build" the "old" icu into OLD_ICU_BUILD |
| tmp-old: $(OLD_ICU)/source/configure |
| mkdir -p $(OLD_ICU_BUILD)/ |
| ( cd $(OLD_ICU_BUILD)/ && $(OLD_ICU)/source/configure ) |
| |
| # auto "build" the "old" icu into OLD_ICU_BUILD |
| tmp-new: $(NEW_ICU)/source/configure |
| mkdir -p $(NEW_ICU_BUILD)/ |
| ( cd $(NEW_ICU_BUILD)/ && $(NEW_ICU)/source/configure ) |
| |
| inplace-old: $(OLD_ICU)/source/configure |
| mkdir -p $(OLD_ICU_BUILD)/ |
| ( cd $(OLD_ICU_BUILD)/ && ./configure ) |
| |
| # auto "build" the "old" icu into OLD_ICU_BUILD |
| inplace-new: $(NEW_ICU)/source/configure |
| mkdir -p $(NEW_ICU_BUILD)/ |
| ( cd $(NEW_ICU_BUILD)/ && ./configure ) |
| |
| |
| ifneq ($(NOTSET),) |
| check-vars: |
| @echo "Error: please set $(NOTSET) in Makefile.local or on the command line." |
| false |
| else |
| check-vars: |
| endif |
| |
| .PHONY: check-vars classes clean-docs tmp-old |
| |
| .PRECIOUS: $(TARGET) $(OLD_ICU_BUILD)/$(DOXYFILE) $(NEW_ICU_BUILD)/$(DOXYFILE) |
| |
| ####### |
| DOXYFILE=Doxyfile |
| XML=doc/xml |
| UVERSIONH=$(XML)/uversion_8h.xml |
| |
| clean-docs: | check-vars |
| -rm -rf "$(OLD_ICU_BUILD)/$(XML)" "$(NEW_ICU_BUILD)/$(XML)" |
| |
| $(TARGET): check-vars $(OLD_ICU_BUILD)/$(XML) $(NEW_ICU_BUILD)/$(XML) |
| echo "Remember to run the non-ascii file detector if you get errors." |
| $(ANT) -Dolddir="$(OLD_ICU_BUILD)/$(XML)" -Dnewdir="$(NEW_ICU_BUILD)/$(XML)" $(ANT_TARGET) |
| echo "If you get no-changes, see the readme- may need to add xalan/xerces jars." |
| |
| # check-vars $(OLD_ICU_BUILD)/$(XML) $(NEW_ICU_BUILD)/$(XML) |
| APIChangeReport.xml: $(OLD_ICU_BUILD)/$(XML) $(NEW_ICU_BUILD)/$(XML) |
| echo "Remember to run the non-ascii file detector if you get errors." |
| $(ANT) -Dolddir="$(OLD_ICU_BUILD)/$(XML)" -Dnewdir="$(NEW_ICU_BUILD)/$(XML)" $(ANT_TARGET)_xml |
| |
| APIChangeReport.md: $(OLD_ICU_BUILD)/$(XML) $(NEW_ICU_BUILD)/$(XML) |
| echo "Remember to run the non-ascii file detector if you get errors." |
| $(ANT) -Dolddir="$(OLD_ICU_BUILD)/$(XML)" -Dnewdir="$(NEW_ICU_BUILD)/$(XML)" $(ANT_TARGET)_md |
| |
| %/doc/xml: %/Doxyfile |
| # don't care what GENERATE_XML is set to previously - set it to yes. |
| @echo running doxygen .. |
| ( cd "$*/" && ( (cat ./Doxyfile | grep -v '^GENERATE_') ; echo 'GENERATE_XML=YES') | $(DOXYGEN) - ) |
| @echo doxygen done in $* |
| |
| %/Doxyfile: %/Makefile |
| @echo generating $@ |
| @$(MAKE) -C "$*/" Doxyfile || ( echo "could not make Doxyfile in $* - was doxygen available?" ; false ) |
| |
| #%/source/Makefile: %/source/Makefile.in |
| # @echo "$@ does not seem to exist - was configure run?" ; false |