107 lines
3.7 KiB
Makefile
107 lines
3.7 KiB
Makefile
# SPDX-FileCopyrightText: 2000-2001 Ximian, Inc.
|
|
# SPDX-FileCopyrightText: 2003, Damon Chaplin <damon@ximian.com>
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
# This is used as the PRODID property on the iCalendar files output.
|
|
# It identifies the product which created the iCalendar objects.
|
|
# So you need to substitute your own organization name and product.
|
|
PRODUCT_ID ?= -//citadel.org//NONSGML Citadel calendar//EN
|
|
|
|
# This is what libical-evolution uses.
|
|
#PRODUCT_ID = -//Ximian//NONSGML Evolution Olson-VTIMEZONE Converter//EN
|
|
|
|
|
|
# This is used to create unique IDs for each VTIMEZONE component.
|
|
# The prefix is put before each timezone city name. It should start and end
|
|
# with a '/'. The first part, i.e. 'myorganization.org' below, should be
|
|
# a unique vendor ID, e.g. use a hostname. The part after that can be
|
|
# anything you want. We use a date and version number for libical. The %D
|
|
# gets expanded to today's date. There is also a vzic-merge.pl which can be
|
|
# used to merge changes into a master set of VTIMEZONEs. If a VTIMEZONE has
|
|
# changed, it bumps the version number on the end of this prefix. */
|
|
TZID_PREFIX ?= /citadel.org/%D_1/
|
|
|
|
# This is what libical-evolution uses.
|
|
#TZID_PREFIX = /softwarestudio.org/Olson_%D_1/
|
|
|
|
# This is used to indicate how timezone aliases (indicated by a Link line
|
|
# in Olson files) should be generated: The default is to symbolically link
|
|
# the Link zone file to its authoritative zone. Alternatively, if set to 0,
|
|
# a VTIMEZONE file is generated for each Link.
|
|
CREATE_SYMLINK ?= 1
|
|
|
|
# This indicates if top-level timezone aliases (a timezone name without
|
|
# any '/' such as "EST5EDT") should be ignored. If 0, a VTIMEZONE is
|
|
# generated also for top-level aliases. This option only has
|
|
# an effect if CREATE_SYMLINK is 0, and mainly is useful for backward
|
|
# compatibility with previous vzic versions.
|
|
IGNORE_TOP_LEVEL_LINK ?= 1
|
|
|
|
# Set any -I include directories to find the libical header files, and the
|
|
# libical library to link with. You only need these if you want to run the
|
|
# tests. You may need to change the '#include <ical.h>' line at the top of
|
|
# test-vzic.c as well.
|
|
LIBICAL_CFLAGS = -I/usr/local/include/libical -L/usr/local/lib64
|
|
#LIBICAL_LDADD = -lical-evolution
|
|
LIBICAL_LDADD = -lical -lpthread
|
|
|
|
|
|
#
|
|
# You shouldn't need to change the rest of the file.
|
|
#
|
|
|
|
GLIB_CFLAGS = `pkg-config --cflags glib-2.0`
|
|
GLIB_LDADD = `pkg-config --libs glib-2.0`
|
|
|
|
CFLAGS = -g -DPRODUCT_ID='"$(PRODUCT_ID)"'
|
|
CFLAGS += -DTZID_PREFIX='"$(TZID_PREFIX)"'
|
|
CFLAGS += -DCREATE_SYMLINK=$(CREATE_SYMLINK)
|
|
CFLAGS += -DIGNORE_TOP_LEVEL_LINK=$(IGNORE_TOP_LEVEL_LINK)
|
|
CFLAGS += $(GLIB_CFLAGS) $(LIBICAL_CFLAGS)
|
|
|
|
OBJECTS = vzic.o vzic-parse.o vzic-dump.o vzic-output.o
|
|
|
|
all: vzic
|
|
|
|
vzic: $(OBJECTS)
|
|
$(CC) $(OBJECTS) $(GLIB_LDADD) -o vzic
|
|
|
|
test-vzic: test-vzic.o
|
|
$(CC) test-vzic.o $(LIBICAL_LDADD) -o test-vzic
|
|
|
|
# Dependencies.
|
|
$(OBJECTS): vzic.h
|
|
vzic.o vzic-parse.o: vzic-parse.h
|
|
vzic.o vzic-dump.o: vzic-dump.h
|
|
vzic.o vzic-output.o: vzic-output.h
|
|
|
|
test-parse: vzic
|
|
ifndef OLSON_DIR
|
|
@echo "You forgot to pass OLSON_DIR"
|
|
@echo "Example: make test OLSON_DIR=tzdata2025c"
|
|
else
|
|
./vzic-dump.pl $(OLSON_DIR)
|
|
./vzic --dump --pure --olson-dir $(OLSON_DIR)
|
|
@echo
|
|
@echo "#"
|
|
@echo "# If either of these diff commands outputs anything there may be a problem."
|
|
@echo "#"
|
|
diff -ru zoneinfo/ZonesPerl zoneinfo/ZonesVzic
|
|
diff -ru zoneinfo/RulesPerl zoneinfo/RulesVzic
|
|
endif
|
|
|
|
test-changes: vzic test-vzic
|
|
./test-vzic --dump-changes
|
|
./vzic --dump-changes --pure
|
|
@echo
|
|
@echo "#"
|
|
@echo "# If this diff command outputs anything there may be a problem."
|
|
@echo "#"
|
|
diff -ru zoneinfo/ChangesVzic test-output
|
|
|
|
clean:
|
|
-rm -rf vzic $(OBJECTS) *~ ChangesVzic RulesVzic ZonesVzic RulesPerl ZonesPerl test-vzic test-vzic.o
|
|
|
|
.PHONY: clean perl-dump test-parse
|