# # 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