X-Git-Url: http://git.shiar.net/unifont.git/blobdiff_plain/119a78c606ce7e90f07f84f5307628fd5a0837f7..8e42f3d15c39e5c98149c9647c0cc1a318e9321a:/Makefile diff --git a/Makefile b/Makefile index 58abae1..9e6b121 100644 --- a/Makefile +++ b/Makefile @@ -7,93 +7,135 @@ # "cd font ; make" # SHELL = /bin/sh +INSTALL = install +GZFLAGS = -f -9 -n + +PACKAGE = "unifont" +UNICODE_VERSION = 7.0 +PKG_REV = 06 +VERSION = $(UNICODE_VERSION).$(PKG_REV) -DATE = 20131020 -MAJORVERSION = 6.3 -VERSION = $(MAJORVERSION).$(DATE) # # The settings below will install software, man pages, and documentation # in /usr/local. To install in a different location, modify USRDIR to # your liking. # -# USRDIR = usr -USRDIR = usr/local +USRDIR = usr +# USRDIR = usr/local PREFIX = $(DESTDIR)/$(USRDIR) PKGDEST = $(PREFIX)/share/unifont +VPATH = lib font/plane00 font/ttfsrc + +HEXFILES = hangul-syllables.hex nonprinting.hex pua.hex spaces.hex \ + unassigned.hex unifont-base.hex wqy.hex + +COMBINING = font/plane00/bmp-combining.txt + +TEXTFILES = ChangeLog INSTALL NEWS README + +# +# Whether to build the font or not (default is not). +# Set to non-null value to build font. +# +BUILDFONT= + # # Whether to install man pages uncompressed (COMPRESS = 0) or # compressed (COMPRESS != 0). # COMPRESS = 1 -DIRS = bin man font - -all: bindir fontdir libdir +all: bindir libdir docdir buildfont echo "Make is done." +# +# Build a distribution tarball. +# +dist: distclean + (cd .. && tar cf $(PACKAGE)-$(VERSION).tar $(PACKAGE)-$(VERSION) && \ + gzip $(GZFLAGS) $(PACKAGE)-$(VERSION).tar) + bindir: - set -e ; $(MAKE) -C src + set -e && $(MAKE) -C src -mandir: - set -e ; $(MAKE) -C man +# +# Conditionally build the font, depending on the value of BUILDFONT. +# To build the font unconditionally, use the "fontdir" target below. +# +buildfont: + if [ x$(BUILDFONT) != x ] ; \ + then \ + set -e && $(MAKE) -C font ; \ + fi +# +# Not invoked automatically; the font files are taken from +# font/precompiled by default. +# fontdir: - set -e ; $(MAKE) -C font + set -e && $(MAKE) -C font + +libdir: lib/wchardata.c + +docdir: + set -e && $(MAKE) -C doc + +mandir: + set -e && $(MAKE) -C man precompiled: - set -e ; $(MAKE) precompiled -C font + set -e && $(MAKE) precompiled -C font # # Create lib/wchardata.c. If you want to also build the object file # wchardata.o, uncomment the last line -libdir: - install -m0755 -d lib - (cd font/hexsrc ; \ - sort hangul-syllables.hex pua.hex spaces.hex \ - unassigned.hex unifont-base.hex wqy.hex \ - > ../../unifonttemp.hex) - bin/unigenwidth unifonttemp.hex font/ttfsrc/combining.txt \ - > lib/wchardata.c +# +lib/wchardata.c: $(HEXFILES) $(COMBINING) + $(INSTALL) -m0755 -d lib + (cd font/plane00 && sort $(HEXFILES) > ../../unifonttemp.hex) + bin/unigenwidth unifonttemp.hex $(COMBINING) > lib/wchardata.c \rm -f unifonttemp.hex -# (cd lib ; $(CC) -c wchardata.c ; chmod 644 wchardata.o ) +# (cd lib && $(CC) $(CFLAGS) -c wchardata.c && chmod 644 wchardata.o ) -install: bindir libdir +install: bindir libdir docdir $(MAKE) -C src install PREFIX=$(PREFIX) $(MAKE) -C man install PREFIX=$(PREFIX) COMPRESS=$(COMPRESS) $(MAKE) -C font install PREFIX=$(PREFIX) DESTDIR=$(DESTDIR) - install -m0755 -d $(PKGDEST) - install -m0644 -p README TUTORIAL LICENSE $(PKGDEST) - gzip -f -9 $(PKGDEST)/README - gzip -f -9 $(PKGDEST)/TUTORIAL - gzip -f -9 $(PKGDEST)/LICENSE - install -m0644 -p lib/wchardata.c $(PKGDEST) - install -m0644 -p font/ttfsrc/combining.txt $(PKGDEST) + $(INSTALL) -m0755 -d $(PKGDEST) + $(INSTALL) -m0644 -p $(TEXTFILES) doc/unifont.txt doc/unifont.info $(PKGDEST) + for i in $(TEXTFILES) unifont.txt unifont.info ; do \ + gzip $(GZFLAGS) $(PKGDEST)/$$i ; \ + done + $(INSTALL) -m0644 -p lib/wchardata.c $(PKGDEST) + $(INSTALL) -m0644 -p font/plane00/bmp-combining.txt $(PKGDEST) # If "make" wasn't run before, font/compiled won't exist. if [ ! -d font/compiled ] ; then \ - install -m0644 -p font/precompiled/unifont-$(VERSION).hex $(PKGDEST)/unifont.hex ; \ - install -m0644 -p font/precompiled/unifont-$(VERSION).bmp $(PKGDEST) ; \ + $(INSTALL) -m0644 -p font/precompiled/unifont-$(VERSION).hex $(PKGDEST)/unifont.hex && \ + $(INSTALL) -m0644 -p font/precompiled/unifont-$(VERSION).bmp $(PKGDEST)/unifont.bmp ; \ else \ - install -m0644 -p font/compiled/unifont-$(VERSION).hex $(PKGDEST)/unifont.hex ; \ - install -m0644 -p font/compiled/unifont-$(VERSION).bmp $(PKGDEST) ; \ + $(INSTALL) -m0644 -p font/compiled/unifont-$(VERSION).hex $(PKGDEST)/unifont.hex && \ + $(INSTALL) -m0644 -p font/compiled/unifont-$(VERSION).bmp $(PKGDEST)/unifont.bmp ; \ fi clean: - $(MAKE) -C src clean - $(MAKE) -C man clean + $(MAKE) -C src clean + $(MAKE) -C doc clean + $(MAKE) -C man clean $(MAKE) -C font clean + \rm -rf *~ # # The .DS files are created under Mac OS X -# The build-stamp file is created under Debian # distclean: - $(MAKE) -C src distclean - $(MAKE) -C man distclean + $(MAKE) -C src distclean + $(MAKE) -C doc distclean + $(MAKE) -C man distclean $(MAKE) -C font distclean \rm -rf bin lib \rm -f unifonttemp.hex + \rm -rf *~ \rm -rf .DS* ._.DS* - \rm -f build-stamp -.PHONY: all bindir mandir fontdir precompiled install clean distclean +.PHONY: all dist bindir buildfont fontdir libdir docdir mandir precompiled install clean distclean