| # | |
| # Copyright (c) 2010-2011 Nest, Inc. | |
| # All rights reserved. | |
| # | |
| # This document is the property of Nest. It is considered | |
| # confidential and proprietary information. | |
| # | |
| # This document may not be reproduced or transmitted in any form, | |
| # in whole or in part, without the express written permission of | |
| # Nest. | |
| # | |
| # Description: | |
| # This file is the make file tzcode and tzdata, executables and | |
| # data required for the implementation of standard local time | |
| # for many representative locations around the globe. | |
| # | |
| .NOTPARALLEL: | |
| include pre.mak | |
| SubMakefiles := tzcode.mak \ | |
| tzdata.mak | |
| # Override the build directory so that the three make files that make | |
| # up this collective package all build in the same directory. | |
| BuildDirectory := $(call GenerateConditionalBuildQualifiedDirectory,$(BuildBaseDirectory)) | |
| all: $(PackageDefaultGoal) | |
| # Prepare the sources. While there's nothing to do here, we need to | |
| # recurse through the sub-make files. | |
| $(BuildDirectory)/source: $(SubMakefiles) | $(BuildDirectory) | |
| $(Verbose)touch $@ | |
| # Patch the sources, if necessary (nothing to do, this is handled by | |
| # the sub-make files). | |
| $(BuildDirectory)/patch: $(BuildDirectory)/source | $(BuildDirectory) | |
| $(Verbose)touch $@ | |
| # Configure the source for building (nothing to do, this is handled by | |
| # the sub-make files). | |
| $(BuildDirectory)/configure: $(BuildDirectory)/source | $(BuildDirectory) | |
| $(Verbose)touch $@ | |
| # Build the source. | |
| # | |
| # We have to unset MAKEFLAGS since they confuse the package build otherwise. | |
| $(BuildDirectory)/build: $(BuildDirectory)/configure | $(ResultDirectory) $(BuildDirectory) | |
| $(Verbose)unset MAKEFLAGS && \ | |
| $(MAKE) $(JOBSFLAG) -C $(BuildDirectory) \ | |
| INSTALL="$(INSTALL) $(INSTALLFLAGS)" \ | |
| TOPDIR=$(ResultDirectory) \ | |
| all | |
| $(Verbose)touch $@ | |
| # Stage the build to a temporary installation area. | |
| $(BuildDirectory)/stage: $(BuildDirectory)/stage-default $(BuildDirectory)/stage-header | |
| # We have to unset MAKEFLAGS since they confuse the package build otherwise. | |
| $(BuildDirectory)/stage-default: $(BuildDirectory)/build | $(ResultDirectory) $(BuildDirectory) | |
| $(Verbose)unset MAKEFLAGS && \ | |
| $(MAKE) $(JOBSFLAG) -C $(BuildDirectory) \ | |
| INSTALL="$(INSTALL) $(INSTALLFLAGS)" \ | |
| TOPDIR=$(ResultDirectory) \ | |
| install | |
| $(Verbose)touch $@ | |
| # Other packages depend on the header, tzfile.h. Manually and | |
| # explicitly stage this in the results directory so they can find it. | |
| $(BuildDirectory)/stage-header: $(BuildDirectory)/build | $(ResultDirectory) $(BuildDirectory) | |
| $(Verbose)$(INSTALL) $(INSTALLFLAGS) -d $(call GenerateResultPaths,,usr/include) | |
| $(Verbose)$(INSTALL) $(INSTALLFLAGS) $(BuildDirectory)/tzfile.h $(call GenerateResultPaths,,usr/include/tzfile.h) | |
| $(Verbose)touch $@ | |
| .PHONY: stage | |
| stage: $(BuildDirectory)/stage | |
| clean: | |
| $(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory) | |
| include post.mak |