2016-07-01 00:20:43 +02:00
|
|
|
############################################################################
|
2018-05-29 21:21:26 +02:00
|
|
|
# libs/libc/zoneinfo/Makefile
|
2016-07-01 00:20:43 +02:00
|
|
|
#
|
2021-03-02 15:54:21 +01:00
|
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
|
|
# this work for additional information regarding copyright ownership. The
|
|
|
|
# ASF licenses this file to you under the Apache License, Version 2.0 (the
|
|
|
|
# "License"); you may not use this file except in compliance with the
|
|
|
|
# License. You may obtain a copy of the License at
|
2016-07-01 00:20:43 +02:00
|
|
|
#
|
2021-03-02 15:54:21 +01:00
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
2016-07-01 00:20:43 +02:00
|
|
|
#
|
2021-03-02 15:54:21 +01:00
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
|
|
# License for the specific language governing permissions and limitations
|
|
|
|
# under the License.
|
2016-07-01 00:20:43 +02:00
|
|
|
#
|
|
|
|
############################################################################
|
|
|
|
|
2020-05-18 21:42:11 +02:00
|
|
|
include $(TOPDIR)/Make.defs
|
2016-07-01 00:20:43 +02:00
|
|
|
|
|
|
|
ifeq ($(CONFIG_LIB_ZONEINFO_ROMFS),y)
|
|
|
|
CSRCS += tzromfs.c
|
|
|
|
endif
|
|
|
|
|
|
|
|
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
|
|
|
COBJS = $(CSRCS:.c=$(OBJEXT))
|
|
|
|
|
|
|
|
SRCS = $(ASRCS) $(CSRCS)
|
|
|
|
OBJS = $(AOBJS) $(COBJS)
|
|
|
|
|
2018-05-29 21:21:26 +02:00
|
|
|
ZONEINFO_PATH = $(TOPDIR)/libs/libc/zoneinfo
|
2016-07-01 00:20:43 +02:00
|
|
|
TZBIN_PATH = $(ZONEINFO_PATH)/tzbin
|
|
|
|
TZCODE_PATH = $(ZONEINFO_PATH)/tzcode
|
|
|
|
|
|
|
|
# Common build
|
|
|
|
|
|
|
|
all: .built
|
|
|
|
.PHONY: romfs register context depend clean distclean
|
|
|
|
|
|
|
|
$(AOBJS): %$(OBJEXT): %.S
|
|
|
|
$(call ASSEMBLE, $<, $@)
|
|
|
|
|
|
|
|
$(COBJS): %$(OBJEXT): %.c
|
|
|
|
$(call COMPILE, $<, $@)
|
|
|
|
|
|
|
|
.built: .tzbuilt romfs $(OBJS)
|
2020-09-12 03:31:38 +02:00
|
|
|
$(call ARCHIVE_ADD, ..$(DELIM)$(BIN), $(OBJS))
|
2016-07-01 00:20:43 +02:00
|
|
|
$(Q) touch .built
|
|
|
|
|
|
|
|
# ROMFS file system containing the TZ database
|
|
|
|
|
|
|
|
ifeq ($(CONFIG_LIB_ZONEINFO_ROMFS),y)
|
|
|
|
|
|
|
|
checkgenromfs:
|
|
|
|
@genromfs -h 1>/dev/null 2>&1 || { \
|
|
|
|
echo "Host executable genromfs not available in PATH"; \
|
|
|
|
echo "You may need to download in from http://romfs.sourceforge.net/"; \
|
|
|
|
exit 1; \
|
|
|
|
}
|
|
|
|
|
|
|
|
romfs_zoneinfo.img : checkgenromfs .tzbuilt
|
|
|
|
@genromfs -f $@ -d $(TZBIN_PATH)/etc/zoneinfo -V "TZDatbase" || { echo "genromfs failed" ; exit 1 ; }
|
|
|
|
|
|
|
|
romfs_zoneinfo.h : romfs_zoneinfo.img
|
|
|
|
@xxd -i $< >$@ || { echo "xxd of $< failed" ; exit 1 ; }
|
|
|
|
|
|
|
|
romfs: romfs_zoneinfo.h
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
romfs:
|
|
|
|
|
|
|
|
endif # CONFIG_LIB_ZONEINFO_ROMFS
|
|
|
|
|
|
|
|
# Build TZ database
|
|
|
|
|
|
|
|
tzcode:
|
|
|
|
mkdir tzcode
|
|
|
|
|
|
|
|
tzbin:
|
|
|
|
mkdir tzbin
|
|
|
|
|
|
|
|
tzcode-latest.tar.gz:
|
2020-12-22 04:26:05 +01:00
|
|
|
$(Q) curl -L -O ftp://ftp.iana.org/tz/tzcode-latest.tar.gz
|
2016-07-01 00:20:43 +02:00
|
|
|
|
|
|
|
tzdata-latest.tar.gz:
|
2020-12-22 04:26:05 +01:00
|
|
|
$(Q) curl -L -O ftp://ftp.iana.org/tz/tzdata-latest.tar.gz
|
2016-07-01 00:20:43 +02:00
|
|
|
|
|
|
|
.tzunpack: tzcode tzcode-latest.tar.gz tzdata-latest.tar.gz
|
|
|
|
$(Q) tar zx -C tzcode -f tzcode-latest.tar.gz
|
|
|
|
$(Q) tar zx -C tzcode -f tzdata-latest.tar.gz
|
|
|
|
$(Q) touch .tzunpack
|
|
|
|
|
|
|
|
.tzbuilt: tzcode tzbin .tzunpack
|
|
|
|
$(Q) $(MAKE) -C tzcode TOPDIR=$(TZBIN_PATH) install
|
|
|
|
$(Q) touch .tzbuilt
|
|
|
|
|
|
|
|
# Create initial context
|
|
|
|
|
|
|
|
context: .tzbuilt romfs
|
|
|
|
|
|
|
|
# Create dependencies
|
|
|
|
|
2020-11-18 17:44:58 +01:00
|
|
|
makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds)
|
|
|
|
$(call CATFILE, Make.dep, $^)
|
|
|
|
$(call DELFILE, $^)
|
|
|
|
|
2020-07-22 09:54:29 +02:00
|
|
|
.depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config
|
2020-11-18 17:44:58 +01:00
|
|
|
$(Q) $(MAKE) makedepfile
|
2020-03-23 03:44:03 +01:00
|
|
|
$(Q) touch $@
|
2016-07-01 00:20:43 +02:00
|
|
|
|
2020-03-23 03:44:03 +01:00
|
|
|
depend: .depend
|
2016-07-01 00:20:43 +02:00
|
|
|
|
|
|
|
clean:
|
|
|
|
$(call DELFILE, .built)
|
|
|
|
$(call CLEAN)
|
|
|
|
|
|
|
|
distclean: clean
|
|
|
|
$(call DELFILE, Make.dep)
|
2020-03-23 03:44:03 +01:00
|
|
|
$(call DELFILE, .depend)
|
2016-07-01 00:20:43 +02:00
|
|
|
$(call DELFILE, .tzunpack)
|
|
|
|
$(call DELFILE, .tzbuilt)
|
|
|
|
$(call DELFILE, romfs_zoneinfo.img)
|
|
|
|
$(call DELFILE, romfs_zoneinfo.h)
|
|
|
|
$(call DELFILE, tzdata-latest.tar.gz)
|
|
|
|
$(call DELFILE, tzcode-latest.tar.gz)
|
|
|
|
$(call DELDIR, tzbin)
|
|
|
|
$(call DELDIR, tzcode)
|
|
|
|
|
|
|
|
-include Make.dep
|