Makefile
author Oleksandr Gavenko <gavenkoa@gmail.com>
Fri, 21 Aug 2020 14:16:03 +0300
changeset 1226 c525aca6d8f8
parent 1224 23dc533e3dd3
child 1253 a4a1e57e8ad7
permissions -rw-r--r--
Added build target 'deploy-www'.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
85
0ff3715e6176 To build dictionary you need to install...
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 68
diff changeset
     1
# To build dictionary you need to install:
0ff3715e6176 To build dictionary you need to install...
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 68
diff changeset
     2
#
0ff3715e6176 To build dictionary you need to install...
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 68
diff changeset
     3
#    $ sudo apt-get install dictfmt
0ff3715e6176 To build dictionary you need to install...
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 68
diff changeset
     4
#
22
0616adf6e983 Describe available build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
     5
# Available target:
0616adf6e983 Describe available build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
     6
#
0616adf6e983 Describe available build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
     7
#   all         build dictionaries
0616adf6e983 Describe available build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
     8
#   install     install dictionaries, so they been available in stardict, may require root permission
0616adf6e983 Describe available build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
     9
#   uninstall   remove dictionaries, they been unavailable in stardict, may require root permission
118
c9ce7b6ae3bc Make SourceForge user name as configurable parameter.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 115
diff changeset
    10
#
c9ce7b6ae3bc Make SourceForge user name as configurable parameter.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 115
diff changeset
    11
# You can override such variables in Makefile.config:
c9ce7b6ae3bc Make SourceForge user name as configurable parameter.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 115
diff changeset
    12
#
121
38e8a1063673 Add 'DESTDIR' - prefix to 'prefix' variable value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 120
diff changeset
    13
#   SF_USER     SourceForge user name.
38e8a1063673 Add 'DESTDIR' - prefix to 'prefix' variable value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 120
diff changeset
    14
#   prefix      Prefix to install path.
22
0616adf6e983 Describe available build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
    15
260
5f6befed263c Delete target file if command fails.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 249
diff changeset
    16
################################################################
5f6befed263c Delete target file if command fails.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 249
diff changeset
    17
# Standard GNU Makefile settings.
5f6befed263c Delete target file if command fails.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 249
diff changeset
    18
287
d01045b55e04 Avoid names inlining.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 276
diff changeset
    19
SHELL = /bin/bash
36
6fee90eb2d85 Add default Makefile settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
    20
export PATH := /bin:/usr/bin:${PATH}
6fee90eb2d85 Add default Makefile settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
    21
6fee90eb2d85 Add default Makefile settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
    22
# Disable built in pattern rules.
6fee90eb2d85 Add default Makefile settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
    23
MAKEFLAGS += -r
6fee90eb2d85 Add default Makefile settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
    24
# Disable built in variables.
6fee90eb2d85 Add default Makefile settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
    25
MAKEFLAGS += -R
6fee90eb2d85 Add default Makefile settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
    26
# Disable built in suffix rules.
6fee90eb2d85 Add default Makefile settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
    27
.SUFFIXES:
260
5f6befed263c Delete target file if command fails.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 249
diff changeset
    28
# Delete target file if command fails.
5f6befed263c Delete target file if command fails.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 249
diff changeset
    29
.DELETE_ON_ERROR:
36
6fee90eb2d85 Add default Makefile settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
    30
# Default target.
106
092b25d032af Set 'help' as default target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 105
diff changeset
    31
.DEFAULT_GOAL = help
36
6fee90eb2d85 Add default Makefile settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
    32
54
12426df26196 Add headlines docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 50
diff changeset
    33
################################################################
118
c9ce7b6ae3bc Make SourceForge user name as configurable parameter.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 115
diff changeset
    34
# Build script definitions.
c9ce7b6ae3bc Make SourceForge user name as configurable parameter.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 115
diff changeset
    35
150
28cd06b06bb8 Rename BUILD_SCRIPT ==> BUILD_SCRIPTS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 148
diff changeset
    36
BUILD_SCRIPTS := $(firstword $(MAKEFILE_LIST))
118
c9ce7b6ae3bc Make SourceForge user name as configurable parameter.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 115
diff changeset
    37
c9ce7b6ae3bc Make SourceForge user name as configurable parameter.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 115
diff changeset
    38
ifneq '' '$(wildcard Makefile.config)'
c9ce7b6ae3bc Make SourceForge user name as configurable parameter.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 115
diff changeset
    39
  include Makefile.config
150
28cd06b06bb8 Rename BUILD_SCRIPT ==> BUILD_SCRIPTS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 148
diff changeset
    40
  BUILD_SCRIPTS += Makefile.config
118
c9ce7b6ae3bc Make SourceForge user name as configurable parameter.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 115
diff changeset
    41
endif
c9ce7b6ae3bc Make SourceForge user name as configurable parameter.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 115
diff changeset
    42
c9ce7b6ae3bc Make SourceForge user name as configurable parameter.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 115
diff changeset
    43
################################################################
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
    44
# Version extracting/generation.
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
    45
480
4413ccc9e216 Include VERSION file into source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 479
diff changeset
    46
VER_FILE := VERSION
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
    47
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
    48
# Prevent making distribution with wrong version.
588
63f430bda7f9 Release and deploy target should use fresh version info. Add alias to deploy sources.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 587
diff changeset
    49
ifneq '' '$(filter deploy% release% dist%,$(MAKECMDGOALS))'
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
    50
  ifeq '' '$(MAKE_RESTARTS)'
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
    51
    $(shell rm -f $(VER_FILE))
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
    52
  endif
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
    53
endif
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
    54
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
    55
# Here are vmajor and vminor. Look README section "Versioning rules."
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
    56
-include $(VER_FILE)
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
    57
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
    58
$(VER_FILE): | $(dir $(VER_FILE))
122
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    59
	\
482
fefea56726d2 Warn if build done without version file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 481
diff changeset
    60
[ -d .hg/ ] || { echo We miss VERSION file!!; exit 0; }; \
122
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    61
vtagdist=$$(hg log -r . --template '{latesttagdistance}'); \
141
4b799e3f9a70 Allow release from commit that tag release.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 137
diff changeset
    62
vatrelease=$$([ $$vtagdist -le 1 ] && echo yes || echo no); \
122
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    63
vtag=$$(hg log -r . --template '{latesttag}'); \
311
47ae3d88a59d Use more conventional tag naming schema.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 308
diff changeset
    64
vmajor=$${vtag#v}; \
151
206fb46e793d Make code more genetic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 150
diff changeset
    65
vmajor=$${vmajor%%.*}; \
122
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    66
vminor=$${vtag#*.}; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    67
vrev=$$(hg id -i); \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    68
visclean=$$(case $$vrev in *+) echo no;; *) echo yes;; esac); \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    69
vrev=$${vrev%+}; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    70
{ \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    71
echo "vrev=$$vrev"; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    72
echo "vtag=$$vtag"; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    73
echo "vtagdist=$$vtagdist"; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    74
echo "visclean=$$visclean"; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    75
echo "vatrelease=$$vatrelease"; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    76
echo "vmajor=$$vmajor"; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
    77
echo "vminor=$$vminor"; \
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
    78
} >$@
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
    79
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
    80
################################################################
106
092b25d032af Set 'help' as default target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 105
diff changeset
    81
# Determine platform/environment.
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
    82
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
    83
host_os = unix
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
    84
ifneq '' '$(COMSPEC)'
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
    85
  ifneq '' '$(WINDIR)'
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
    86
    # Probably under Windows.
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
    87
    host_os = windows
107
4cfb94e11b5d Add warning flags to 'rst2html'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 106
diff changeset
    88
    ifneq '' '$(wildcard /etc/setup/*cygwin*)'
4cfb94e11b5d Add warning flags to 'rst2html'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 106
diff changeset
    89
      # Probably under Cygwin.
4cfb94e11b5d Add warning flags to 'rst2html'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 106
diff changeset
    90
      host_os = cygwin
4cfb94e11b5d Add warning flags to 'rst2html'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 106
diff changeset
    91
    endif
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
    92
  endif
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
    93
endif
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
    94
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
    95
################################################################
107
4cfb94e11b5d Add warning flags to 'rst2html'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 106
diff changeset
    96
# Build tools definition/switches.
4cfb94e11b5d Add warning flags to 'rst2html'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 106
diff changeset
    97
121
38e8a1063673 Add 'DESTDIR' - prefix to 'prefix' variable value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 120
diff changeset
    98
INSTALL = install
38e8a1063673 Add 'DESTDIR' - prefix to 'prefix' variable value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 120
diff changeset
    99
INSTALL_PROGRAM = $(INSTALL)
38e8a1063673 Add 'DESTDIR' - prefix to 'prefix' variable value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 120
diff changeset
   100
INSTALL_DATA = $(INSTALL) -m 644
38e8a1063673 Add 'DESTDIR' - prefix to 'prefix' variable value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 120
diff changeset
   101
107
4cfb94e11b5d Add warning flags to 'rst2html'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 106
diff changeset
   102
RST_WARNING_FLAGS := --halt warning
4cfb94e11b5d Add warning flags to 'rst2html'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 106
diff changeset
   103
RST_FLAGS := --strip-comments
4cfb94e11b5d Add warning flags to 'rst2html'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 106
diff changeset
   104
RST_FLAGS += $(RST_WARNING_FLAGS)
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   105
107
4cfb94e11b5d Add warning flags to 'rst2html'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 106
diff changeset
   106
RST2HTML := rst2html
4cfb94e11b5d Add warning flags to 'rst2html'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 106
diff changeset
   107
ifeq '$(host_os)' 'cygwin'
4cfb94e11b5d Add warning flags to 'rst2html'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 106
diff changeset
   108
  RST2HTML := rst2html.py
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   109
endif
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   110
RST2HTML_RENDER_FLAGS := --strip-comments --embed-stylesheet --no-xml-declaration --math-output=HTML --initial-header-level=2
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   111
RST2HTML_FLAGS := $(RST_FLAGS) $(RST2HTML_RENDER_FLAGS)
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   112
308
7a5f4265a581 Build and deploy VOA in PDF format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 287
diff changeset
   113
LATEX2PDF := pdflatex
7a5f4265a581 Build and deploy VOA in PDF format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 287
diff changeset
   114
875
ebba66b977b6 Ported Anki decks build to Cygwin+Windows. Added corresponding docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 844
diff changeset
   115
ifeq '$(ANKI_PY_DIR)' ''
ebba66b977b6 Ported Anki decks build to Cygwin+Windows. Added corresponding docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 844
diff changeset
   116
  ANKI_PY_DIR := /usr/share/anki
ebba66b977b6 Ported Anki decks build to Cygwin+Windows. Added corresponding docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 844
diff changeset
   117
endif
ebba66b977b6 Ported Anki decks build to Cygwin+Windows. Added corresponding docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 844
diff changeset
   118
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   119
################################################################
54
12426df26196 Add headlines docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 50
diff changeset
   120
# Install paths.
0
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   121
41
8f1dc5d77f3d Switch dictionary to dictd -c5 format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
   122
ifeq '$(origin prefix)' 'undefined'
8f1dc5d77f3d Switch dictionary to dictd -c5 format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
   123
  ifeq '$(shell id -u)' '0'
8f1dc5d77f3d Switch dictionary to dictd -c5 format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
   124
    prefix = /usr/local
8f1dc5d77f3d Switch dictionary to dictd -c5 format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
   125
  else
8f1dc5d77f3d Switch dictionary to dictd -c5 format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
   126
    prefix = $(HOME)/usr
8f1dc5d77f3d Switch dictionary to dictd -c5 format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
   127
  endif
8f1dc5d77f3d Switch dictionary to dictd -c5 format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
   128
endif
388
d98d8f8cdef9 Eliminate "DESTDIR", "prefix" variable should be sufficient.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 387
diff changeset
   129
datarootdir := $(prefix)/share
389
10020d94a315 Install/uninstall "gadict.el".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 388
diff changeset
   130
datadir := $(datarootdir)/dictd
10020d94a315 Install/uninstall "gadict.el".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 388
diff changeset
   131
elispdir := $(datarootdir)/emacs/site-lisp
0
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   132
54
12426df26196 Add headlines docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 50
diff changeset
   133
################################################################
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   134
# Project dirs/files.
21
d4b27e5b7a4b Added per user install target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 20
diff changeset
   135
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   136
pkgname = gadict
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   137
fullpkgname = $(pkgname)-$(vmajor).$(vminor)
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   138
401
791994f95561 Add dependency on py files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 396
diff changeset
   139
PY_FILES := $(wildcard py/gadict*.py)
791994f95561 Add dependency on py files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 396
diff changeset
   140
830
9631386b2ec2 Preserve order of dictionary files in order to simplify comparing of reports
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 829
diff changeset
   141
GADICT_FILES := $(sort $(wildcard *.gadict))
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   142
624
934a2a6cbe27 Add dictionaries logo. Goldendict supports PNG format and by default display
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 614
diff changeset
   143
C5_FILES := $(patsubst %.gadict,dist/dictd/%.c5,$(GADICT_FILES))
410
65b38ec04ea4 Include VOA in build. Make possible separate Ru/Uk build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 404
diff changeset
   144
ALL_C5_FILES := $(C5_FILES) dist/dictd/gadict_en-ru.c5 dist/dictd/gadict_en-uk.c5
624
934a2a6cbe27 Add dictionaries logo. Goldendict supports PNG format and by default display
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 614
diff changeset
   145
PNG_FILES := $(patsubst %.gadict,dist/dictd/%.png,$(GADICT_FILES))
387
1616fc7c1f09 Start using "gadict.py".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 384
diff changeset
   146
DICT_FILES := $(C5_FILES:.c5=.dict)
1616fc7c1f09 Start using "gadict.py".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 384
diff changeset
   147
DICTDZ_FILES := $(C5_FILES:.c5=.dict.dz)
1616fc7c1f09 Start using "gadict.py".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 384
diff changeset
   148
INDEX_FILES := $(C5_FILES:.c5=.index)
1
b23e948de24a Make article for all verbs form.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 0
diff changeset
   149
1203
c767b62ec786 Added support for gaphrase format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1202
diff changeset
   150
GAPHRASE_FILES := $(wildcard *.gaphrase)
c767b62ec786 Added support for gaphrase format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1202
diff changeset
   151
GADIALOG_FILES := $(wildcard *.gadialog)
c767b62ec786 Added support for gaphrase format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1202
diff changeset
   152
536
c9f0064d8661 Generate import file for space repetition software in TAB format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 505
diff changeset
   153
SRS_TAB_FILES := $(patsubst %.gadict,dist/srs/%.tab.txt,$(GADICT_FILES))
1203
c767b62ec786 Added support for gaphrase format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1202
diff changeset
   154
SRS_ANKI_FILES := \
c767b62ec786 Added support for gaphrase format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1202
diff changeset
   155
  $(patsubst %.gadict,dist/anki/%.apkg,$(GADICT_FILES)) \
c767b62ec786 Added support for gaphrase format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1202
diff changeset
   156
  $(patsubst %.gaphrase,dist/anki/%.apkg,$(GAPHRASE_FILES)) \
c767b62ec786 Added support for gaphrase format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1202
diff changeset
   157
  $(patsubst %.gadialog,dist/anki/%.apkg,$(GADIALOG_FILES))
536
c9f0064d8661 Generate import file for space repetition software in TAB format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 505
diff changeset
   158
1224
23dc533e3dd3 Added HTML formatter for gadialog files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1214
diff changeset
   159
DICT_HTML_FILES := \
23dc533e3dd3 Added HTML formatter for gadialog files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1214
diff changeset
   160
  $(patsubst %.gadict,dist/html/%.html,$(GADICT_FILES)) \
23dc533e3dd3 Added HTML formatter for gadialog files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1214
diff changeset
   161
  dist/html/gadialog.html
776
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   162
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   163
RST_TMPL_FILE = dist/misc/rst.tmpl
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   164
RST_CSS_FILE = www/tmpl/rst.css
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   165
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   166
RST_FILES := $(wildcard www/*.rst)
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   167
RST_HTML_FILES := $(patsubst www/%.rst,dist/www/%.html,$(RST_FILES))
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   168
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   169
INDEX_HTML_FILE := dist/www/index.html
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   170
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   171
STAT_MISSING_FILE := dist/misc/MISSING.rst
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   172
STAT_RST_FILE := dist/misc/STAT.rst
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   173
STAT_HTML_FILE := dist/www/STAT.html
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   174
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   175
WWW_HTML_FILES := $(RST_HTML_FILES) $(INDEX_HTML_FILE) $(STAT_HTML_FILE)
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   176
684
6ba6249fb194 Create new project logo. Add favicon to project sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
   177
LOGO_FILE := www/logo.svg
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   178
LOGO_DIM := 32x32 48x48 64x64
684
6ba6249fb194 Create new project logo. Add favicon to project sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
   179
LOGO_PNG_FILES := $(patsubst %,dist/misc/logo-%.png,$(LOGO_DIM))
1209
eacf1b282688 Switched to graphicsmagick to generate favicon. It doesn't support Microsoft ICO so generate PNG instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1207
diff changeset
   180
FAVICON := dist/www/favicon.png
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   181
1142
ce538f6b30b1 Added gaphrase.el to install build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1075
diff changeset
   182
EL_FILES := $(wildcard contrib/*.el)
ce538f6b30b1 Added gaphrase.el to install build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1075
diff changeset
   183
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   184
DISTREL_TARBALLS = dist/$(fullpkgname).tar.gz dist/$(fullpkgname).zip
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   185
DISTSRC_TARBALLS = dist/$(fullpkgname)_src.tar.gz # dist/$(fullpkgname)_src.zip
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   186
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   187
################################################################
633
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   188
# Install/uninstall targets.
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   189
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   190
.PHONY: install
754
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   191
install: install-dict install-emacs
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   192
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   193
.PHONY: install-dict
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   194
install-dict: $(DICTDZ_FILES) $(INDEX_FILES) $(PNG_FILES)
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   195
	mkdir -p $(datadir)
633
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   196
	for f in $(DICTDZ_FILES) $(INDEX_FILES) $(PNG_FILES); do \
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   197
		$(INSTALL_DATA) $$f $(datadir); \
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   198
	done
754
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   199
947
d46d0a91ac48 Added alias for target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 942
diff changeset
   200
.PHONY: install-emacs install-el
d46d0a91ac48 Added alias for target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 942
diff changeset
   201
install-el: install-emacs
754
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   202
install-emacs:
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   203
	mkdir -p $(elispdir)
1142
ce538f6b30b1 Added gaphrase.el to install build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1075
diff changeset
   204
	$(INSTALL_DATA) $(EL_FILES) $(elispdir)
ce538f6b30b1 Added gaphrase.el to install build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1075
diff changeset
   205
	emacs -batch -f batch-byte-compile $(patsubst %,$(elispdir)/%,$(notdir $(EL_FILES)))
633
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   206
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   207
.PHONY: uninstall
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   208
uninstall:
770
71b9d7ea4885 Fix 'uninstall' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   209
	for f in $(notdir $(DICTDZ_FILES) $(INDEX_FILES) $(PNG_FILES)); do \
633
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   210
		rm -f $(datadir)/$$f; \
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   211
	done
1142
ce538f6b30b1 Added gaphrase.el to install build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1075
diff changeset
   212
	rm -f $(patsubst %,$(elispdir)/%,$(notdir $(EL_FILES))) $(patsubst %.el,$(elispdir)/%.elc,$(notdir $(EL_FILES)))
633
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   213
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   214
################################################################
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   215
# Deploy/release targets.
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   216
1209
eacf1b282688 Switched to graphicsmagick to generate favicon. It doesn't support Microsoft ICO so generate PNG instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1207
diff changeset
   217
SF_USER ?= gavenkoa
eacf1b282688 Switched to graphicsmagick to generate favicon. It doesn't support Microsoft ICO so generate PNG instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1207
diff changeset
   218
eacf1b282688 Switched to graphicsmagick to generate favicon. It doesn't support Microsoft ICO so generate PNG instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1207
diff changeset
   219
# Release require Anki Python modules, dictd utilities and graphicsmagick (for icon):
eacf1b282688 Switched to graphicsmagick to generate favicon. It doesn't support Microsoft ICO so generate PNG instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1207
diff changeset
   220
#   $ sudo apt install anki dictfmt dictzip graphicsmagick
eacf1b282688 Switched to graphicsmagick to generate favicon. It doesn't support Microsoft ICO so generate PNG instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1207
diff changeset
   221
1214
8aecadfc6e8f Docs: installing GraphicsMagick on Cygwin.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1211
diff changeset
   222
#   $ apt-cyg install GraphicsMagick
8aecadfc6e8f Docs: installing GraphicsMagick on Cygwin.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1211
diff changeset
   223
1209
eacf1b282688 Switched to graphicsmagick to generate favicon. It doesn't support Microsoft ICO so generate PNG instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1207
diff changeset
   224
# First time you deploy to SourceForge (sf) you need manually login to:
eacf1b282688 Switched to graphicsmagick to generate favicon. It doesn't support Microsoft ICO so generate PNG instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1207
diff changeset
   225
#   $ sftp $(SF_USER),$(pkgname)@web.sourceforge.net
1211
275340c61150 Updated SF ssh key setup instructions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1209
diff changeset
   226
#   $ sftp $(SF_USER),$(pkgname)@frs.sourceforge.net
275340c61150 Updated SF ssh key setup instructions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1209
diff changeset
   227
#   $ hg push ssh://$(SF_USER)@hg.code.sf.net/p/gadict/code
1209
eacf1b282688 Switched to graphicsmagick to generate favicon. It doesn't support Microsoft ICO so generate PNG instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1207
diff changeset
   228
# as it asks for accepting server public key.
eacf1b282688 Switched to graphicsmagick to generate favicon. It doesn't support Microsoft ICO so generate PNG instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1207
diff changeset
   229
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   230
.PHONY: deploy
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   231
deploy: deploy2defun deploy2sf
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   232
588
63f430bda7f9 Release and deploy target should use fresh version info. Add alias to deploy sources.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 587
diff changeset
   233
.PHONY: deploy-src deploy-hg
63f430bda7f9 Release and deploy target should use fresh version info. Add alias to deploy sources.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 587
diff changeset
   234
deploy-src deploy-hg: deploy2defun-hg deploy2sf-hg
558
53fd793e345d Add shortcut to deploy to HG repos.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 557
diff changeset
   235
837
ed8a84d9566f No need to include VOA marked in VOA HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 830
diff changeset
   236
.PHONY: deploy-html
ed8a84d9566f No need to include VOA marked in VOA HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 830
diff changeset
   237
deploy-html: deploy2defun-html deploy2sf-html
ed8a84d9566f No need to include VOA marked in VOA HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 830
diff changeset
   238
1226
c525aca6d8f8 Added build target 'deploy-www'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1224
diff changeset
   239
.PHONY: deploy-www
c525aca6d8f8 Added build target 'deploy-www'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1224
diff changeset
   240
deploy-www: deploy2defun-www deploy2sf-www
c525aca6d8f8 Added build target 'deploy-www'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1224
diff changeset
   241
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   242
.PHONY: release
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   243
release: release2defun release2sf
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   244
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   245
.PHONY: release2defun
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   246
release2defun: validate-release deploy2defun
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   247
505
4ce3ced9057e Fix dependencies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 503
diff changeset
   248
.PHONY: release2sf
4ce3ced9057e Fix dependencies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 503
diff changeset
   249
release2sf: validate-release deploy2sf
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   250
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   251
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   252
DEFUN_USER ?= user
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   253
DEFUN_HG_SRV ?= hg.defun.work
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   254
DEFUN_HG_DIR ?= /srv/hg/gadict
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   255
DEFUN_WWW_SRV ?= defun.work
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   256
DEFUN_WWW_DIR ?= /srv/www/gadict
493
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   257
DEFUN_REL_DIR ?= /srv/www/gadict/download
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   258
956
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   259
.PHONY: deploy2defun-full
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   260
deploy2defun-full: deploy2defun deploy2defun-voa
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   261
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   262
.PHONY: deploy2defun
777
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   263
deploy2defun: deploy2defun-www deploy2defun-dist deploy2defun-hg deploy2defun-html
118
c9ce7b6ae3bc Make SourceForge user name as configurable parameter.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 115
diff changeset
   264
558
53fd793e345d Add shortcut to deploy to HG repos.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 557
diff changeset
   265
.PHONY: deploy2defun-hg
53fd793e345d Add shortcut to deploy to HG repos.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 557
diff changeset
   266
deploy2defun-hg:
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   267
	hg push ssh://$(DEFUN_USER)@$(DEFUN_HG_SRV)/$(DEFUN_HG_DIR) || [ $$? = 1 ]
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   268
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   269
.PHONY: deploy2defun-www
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   270
deploy2defun-www: $(WWW_HTML_FILES) $(FAVICON)
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   271
	( \
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   272
echo 'cd $(DEFUN_WWW_DIR)'; \
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   273
for f in $(WWW_HTML_FILES) $(FAVICON); do \
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   274
  n=$${f##*/}; \
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   275
  echo "put $$f $$n"; \
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   276
  echo "chmod 644 $$n"; \
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   277
done; \
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   278
echo 'quit'; \
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   279
) | sftp -b - $(DEFUN_USER)@$(DEFUN_WWW_SRV)
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   280
494
f931ef10c1b0 Rename target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 493
diff changeset
   281
.PHONY: deploy2defun-dist
f931ef10c1b0 Rename target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 493
diff changeset
   282
deploy2defun-dist: $(DISTREL_TARBALLS) $(DISTSRC_TARBALLS)
493
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   283
	( \
496
9ddd305404e6 Fix: sftp: Couldn't create directory: Failure
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 494
diff changeset
   284
echo "-mkdir $(DEFUN_REL_DIR)"; \
9ddd305404e6 Fix: sftp: Couldn't create directory: Failure
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 494
diff changeset
   285
echo "-mkdir $(DEFUN_REL_DIR)/v$(vmajor).$(vminor)"; \
493
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   286
echo "cd $(DEFUN_REL_DIR)/v$(vmajor).$(vminor)"; \
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   287
for f in $(DISTREL_TARBALLS) $(DISTSRC_TARBALLS); do \
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   288
  n=$${f##*/}; \
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   289
  echo "put $$f $$n"; \
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   290
  echo "chmod 644 $$n"; \
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   291
done; \
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   292
) | sftp -b - $(DEFUN_USER)@$(DEFUN_WWW_SRV)
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   293
777
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   294
.PHONY: deploy2defun-html
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   295
deploy2defun-html: $(DICT_HTML_FILES)
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   296
	( \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   297
echo 'cd $(DEFUN_WWW_DIR)'; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   298
for f in $(DICT_HTML_FILES); do \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   299
  n=$${f##*/}; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   300
  echo "put $$f $$n"; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   301
  echo "chmod 644 $$n"; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   302
done; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   303
echo 'quit'; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   304
) | sftp -b - $(DEFUN_USER)@$(DEFUN_WWW_SRV)
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   305
956
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   306
.PHONY: deploy2sf-full
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   307
deploy2sf-full: deploy2sf deploy2sf-voa
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   308
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   309
.PHONY: deploy2sf
956
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   310
deploy2sf: deploy2sf-www deploy2sf-dist deploy2sf-hg deploy2sf-html
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   311
558
53fd793e345d Add shortcut to deploy to HG repos.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 557
diff changeset
   312
.PHONY: deploy2sf-hg
53fd793e345d Add shortcut to deploy to HG repos.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 557
diff changeset
   313
deploy2sf-hg:
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   314
	hg push ssh://$(SF_USER)@hg.code.sf.net/p/$(pkgname)/code || [ $$? = 1 ]
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   315
119
20f1d1080886 Rename 'name' ==> 'pkgname'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 118
diff changeset
   316
# Will be accessed via http://$(pkgname).sourceforge.net
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   317
.PHONY: deploy2sf-www
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   318
deploy2sf-www: $(WWW_HTML_FILES) $(FAVICON)
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   319
	( echo 'cd htdocs'; \
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   320
for f in $(WWW_HTML_FILES) $(FAVICON); do \
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   321
  n=$${f##*/}; \
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   322
  echo "put $$f $$n"; \
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   323
  echo "chmod 644 $$n"; \
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   324
done; \
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   325
echo 'quit'; \
120
cb5ab06a72a7 Inline URL to make code more verbose.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 119
diff changeset
   326
) | sftp -b - $(SF_USER),$(pkgname)@web.sourceforge.net
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   327
501
3ebfd12fc276 Enable release to SF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 499
diff changeset
   328
.PHONY: deploy2sf-dist
3ebfd12fc276 Enable release to SF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 499
diff changeset
   329
deploy2sf-dist: $(DISTREL_TARBALLS) $(DISTSRC_TARBALLS)
287
d01045b55e04 Avoid names inlining.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 276
diff changeset
   330
	( echo 'cd /home/frs/project/$(shell v=$(pkgname); echo $${v:0:1}/$${v:0:2})/$(pkgname)'; \
503
6a32a94eeab2 Fix dist release to SF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 501
diff changeset
   331
echo "put  www/README.rst"; \
115
1c6ffaecdf50 Fix sftp command usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 112
diff changeset
   332
echo "chmod 644 README.rst"; \
496
9ddd305404e6 Fix: sftp: Couldn't create directory: Failure
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 494
diff changeset
   333
echo "-mkdir v$(vmajor).$(vminor)"; \
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   334
echo "cd v$(vmajor).$(vminor)"; \
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   335
for f in $(DISTREL_TARBALLS) $(DISTSRC_TARBALLS); do \
503
6a32a94eeab2 Fix dist release to SF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 501
diff changeset
   336
  n=$${f##*/}; \
6a32a94eeab2 Fix dist release to SF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 501
diff changeset
   337
  echo "put $$f $$n"; \
6a32a94eeab2 Fix dist release to SF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 501
diff changeset
   338
  echo "chmod 644 $$n"; \
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   339
done; \
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   340
echo 'quit'; \
120
cb5ab06a72a7 Inline URL to make code more verbose.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 119
diff changeset
   341
) | sftp -b - $(SF_USER),$(pkgname)@frs.sourceforge.net
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   342
779
c2520fea743b Fix typo.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 777
diff changeset
   343
.PHONY: deploy2sf-html
c2520fea743b Fix typo.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 777
diff changeset
   344
deploy2sf-html: $(DICT_HTML_FILES)
777
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   345
	( echo 'cd htdocs'; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   346
for f in $(DICT_HTML_FILES); do \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   347
  n=$${f##*/}; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   348
  echo "put $$f $$n"; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   349
  echo "chmod 644 $$n"; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   350
done; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   351
echo 'quit'; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   352
) | sftp -b - $(SF_USER),$(pkgname)@web.sourceforge.net
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   353
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   354
.PHONY: validate-release
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   355
validate-release:
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   356
	\
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   357
case ${visclean} in \
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   358
  no) echo "Local changes found. Build stop."; \
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   359
    exit 1;; \
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   360
esac
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   361
	\
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   362
case $(vatrelease) in \
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   363
  no) echo "We are not at release. Build stop."; \
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   364
    exit 1;; \
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   365
esac
124
7d9f38580ed9 Add 'deploy-check' target to check source sanity before release.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 123
diff changeset
   366
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   367
################################################################
956
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   368
# Printed VOA dictionary isn't going to change so there is no need to require
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   369
# LaTeX in built environment to make releases.
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   370
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   371
.PHONY: deploy-voa
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   372
deploy-voa: deploy2defun-voa deploy2sf-voa
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   373
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   374
.PHONY: deploy2defun-voa
957
793cfb68fb1e Fixed typo.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 956
diff changeset
   375
deploy2defun-voa: voa
956
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   376
	( \
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   377
echo 'cd $(DEFUN_WWW_DIR)'; \
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   378
echo "put dist/pdf/voa-special.pdf"; \
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   379
echo "chmod 644 voa-special.pdf"; \
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   380
echo 'quit'; \
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   381
) | sftp -b - $(DEFUN_USER)@$(DEFUN_WWW_SRV)
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   382
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   383
.PHONY: deploy2sf-voa
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   384
deploy2sf-voa: voa
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   385
	( \
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   386
echo 'cd htdocs'; \
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   387
echo "put dist/pdf/voa-special.pdf"; \
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   388
echo "chmod 644 voa-special.pdf"; \
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   389
echo 'quit'; \
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   390
) | sftp -b - $(SF_USER),$(pkgname)@web.sourceforge.net
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   391
36454643fec6 Printed VOA dictionary isn't going to change so there is no need to require
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   392
################################################################
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   393
# Dist targets.
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   394
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   395
.PHONY: dist
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   396
dist: dist-rel dist-src
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   397
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   398
.PHONY: dist-rel
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   399
dist-rel: $(DISTREL_TARBALLS)
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   400
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   401
DISTREL_DICTDZ_FILES := $(patsubst %,dist/$(fullpkgname)/dictd/%,$(notdir $(DICTDZ_FILES)))
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   402
DISTREL_INDEX_FILES := $(patsubst %,dist/$(fullpkgname)/dictd/%,$(notdir $(INDEX_FILES)))
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   403
DISTREL_RST_FILES := $(patsubst %,dist/$(fullpkgname)/doc/txt/%,$(notdir $(RST_FILES)))
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   404
DISTREL_WWW_HTML_FILES := $(patsubst %,dist/$(fullpkgname)/doc/html/%,$(notdir $(RST_HTML_FILES)))
545
15e5f62b2f6f Include import files in tab format for SRS to release bundle.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 536
diff changeset
   405
DISTREL_SRS_TAB_FILES := $(patsubst %,dist/$(fullpkgname)/srs/%,$(notdir $(SRS_TAB_FILES)))
666
ef697459f88e Store Anki files in separate directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 665
diff changeset
   406
DISTREL_SRS_ANKI_FILES := $(patsubst %,dist/$(fullpkgname)/anki/%,$(notdir $(SRS_ANKI_FILES)))
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   407
1190
f92cd37ad600 Excluded SRS TAB files from release.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1146
diff changeset
   408
dist/$(fullpkgname).tar.gz: $(DISTREL_DICTDZ_FILES) $(DISTREL_INDEX_FILES) $(DISTREL_SRS_ANKI_FILES) $(DISTREL_RST_FILES) $(DISTREL_WWW_HTML_FILES) $(BUILD_SCRIPTS)
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   409
	rm -rf $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   410
	tar zcf $@ -C dist/ $(fullpkgname)
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   411
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   412
dist/$(fullpkgname).zip: $(DISTREL_DICTDZ_FILES) $(DISTREL_INDEX_FILES) $(DISTREL_RST_FILES) $(DISTREL_WWW_HTML_FILES) $(BUILD_SCRIPTS)
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   413
	rm -rf $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   414
	cd $(dir $@) && zip -r $(notdir $@) $(fullpkgname)
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   415
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   416
$(DISTREL_DICTDZ_FILES) $(DISTREL_INDEX_FILES): dist/$(fullpkgname)/dictd/%: dist/dictd/% | dist/$(fullpkgname)/dictd/
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   417
	cp $< $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   418
545
15e5f62b2f6f Include import files in tab format for SRS to release bundle.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 536
diff changeset
   419
$(DISTREL_SRS_TAB_FILES): dist/$(fullpkgname)/srs/%: dist/srs/% | dist/$(fullpkgname)/srs/
15e5f62b2f6f Include import files in tab format for SRS to release bundle.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 536
diff changeset
   420
	cp $< $@
15e5f62b2f6f Include import files in tab format for SRS to release bundle.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 536
diff changeset
   421
666
ef697459f88e Store Anki files in separate directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 665
diff changeset
   422
$(DISTREL_SRS_ANKI_FILES): dist/$(fullpkgname)/anki/%: dist/anki/% | dist/$(fullpkgname)/anki/
557
d7a42a700255 Package Anki files to binary release.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 555
diff changeset
   423
	cp $< $@
d7a42a700255 Package Anki files to binary release.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 555
diff changeset
   424
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   425
$(DISTREL_RST_FILES): dist/$(fullpkgname)/doc/txt/%: www/% | dist/$(fullpkgname)/doc/txt/
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   426
	cp $< $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   427
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   428
$(DISTREL_WWW_HTML_FILES): dist/$(fullpkgname)/doc/html/%: dist/www/% | dist/$(fullpkgname)/doc/html/
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   429
	cp $< $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   430
666
ef697459f88e Store Anki files in separate directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 665
diff changeset
   431
$(patsubst %,dist/$(fullpkgname)/%, dictd/ srs/ anki/ doc/txt/ doc/html/):
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   432
	mkdir -p $@
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   433
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   434
.PHONY: dist-src
105
35cc545ec03d 'clean'-like targets delete artefacts after 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 103
diff changeset
   435
dist-src: $(DISTSRC_TARBALLS)
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   436
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   437
DISTSRC_GADICT_FILES := $(patsubst %,dist/$(fullpkgname)_src/%,$(GADICT_FILES))
1207
e4f601df93b1 Included gaphrase & gadialog files to distsrc target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1203
diff changeset
   438
DISTSRC_GAPHRASE_FILES := $(patsubst %,dist/$(fullpkgname)_src/%,$(GAPHRASE_FILES))
e4f601df93b1 Included gaphrase & gadialog files to distsrc target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1203
diff changeset
   439
DISTSRC_GADIALOG_FILES := $(patsubst %,dist/$(fullpkgname)_src/%,$(GADIALOG_FILES))
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   440
DISTSRC_PY_FILES := $(patsubst %,dist/$(fullpkgname)_src/py/%,$(notdir $(PY_FILES)))
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   441
DISTSRC_RST_FILES := $(patsubst %,dist/$(fullpkgname)_src/www/%,$(notdir $(RST_FILES)))
481
f2b8c358716d Include HTML template to allow full build from distribution tarball.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 480
diff changeset
   442
DISTSRC_TMPL_FILES := $(patsubst %,dist/$(fullpkgname)_src/www/tmpl/%, rst.css rst.tmpl.in)
480
4413ccc9e216 Include VERSION file into source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 479
diff changeset
   443
DISTSRC_BUILD_SCRIPTS := $(patsubst %,dist/$(fullpkgname)_src/%, Makefile VERSION)
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   444
1207
e4f601df93b1 Included gaphrase & gadialog files to distsrc target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1203
diff changeset
   445
dist/$(fullpkgname)_src.tar.gz: $(DISTSRC_GADICT_FILES) $(DISTSRC_GAPHRASE_FILES) $(DISTSRC_GADIALOG_FILES) \
e4f601df93b1 Included gaphrase & gadialog files to distsrc target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1203
diff changeset
   446
  $(DISTSRC_PY_FILES) $(DISTSRC_RST_FILES) $(DISTSRC_TMPL_FILES) $(DISTSRC_BUILD_SCRIPTS) $(BUILD_SCRIPTS)
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   447
	rm -rf $@
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   448
	tar zcf $@ -C dist/ $(fullpkgname)_src
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   449
1207
e4f601df93b1 Included gaphrase & gadialog files to distsrc target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1203
diff changeset
   450
$(DISTSRC_GADICT_FILES) $(DISTSRC_GAPHRASE_FILES) $(DISTSRC_GADIALOG_FILES): dist/$(fullpkgname)_src/%: % | dist/$(fullpkgname)_src/
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   451
	cp $< $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   452
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   453
$(DISTSRC_PY_FILES): dist/$(fullpkgname)_src/py/%: py/% | dist/$(fullpkgname)_src/py/
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   454
	cp $< $@
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   455
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   456
$(DISTSRC_RST_FILES): dist/$(fullpkgname)_src/www/%: www/% | dist/$(fullpkgname)_src/www/
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   457
	cp $< $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   458
481
f2b8c358716d Include HTML template to allow full build from distribution tarball.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 480
diff changeset
   459
$(DISTSRC_TMPL_FILES): dist/$(fullpkgname)_src/www/tmpl/%: www/tmpl/% | dist/$(fullpkgname)_src/www/tmpl/
f2b8c358716d Include HTML template to allow full build from distribution tarball.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 480
diff changeset
   460
	cp $< $@
f2b8c358716d Include HTML template to allow full build from distribution tarball.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 480
diff changeset
   461
480
4413ccc9e216 Include VERSION file into source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 479
diff changeset
   462
$(DISTSRC_BUILD_SCRIPTS): dist/$(fullpkgname)_src/%: % | dist/$(fullpkgname)_src/
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   463
	cp $< $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   464
481
f2b8c358716d Include HTML template to allow full build from distribution tarball.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 480
diff changeset
   465
dist/$(fullpkgname)_src/ $(patsubst %,dist/$(fullpkgname)_src/%, py/ www/ www/tmpl/):
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   466
	mkdir -p $@
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   467
54
12426df26196 Add headlines docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 50
diff changeset
   468
################################################################
643
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   469
# Word frequency statistic.
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   470
664
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   471
define FREQ_MACRO
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   472
$(1)_OPT += -freq:$(2):$(3)=$(4)
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   473
$(1)_DEP += $(4)
651
08417d7454ec Add VOA to frequency list. Fix dependency on freq list.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 646
diff changeset
   474
endef
08417d7454ec Add VOA to frequency list. Fix dependency on freq list.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 646
diff changeset
   475
664
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   476
# For gadict_voa.
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   477
$(eval $(call FREQ_MACRO,VOA_FREQLIST,freq,GSL,wordlist/gsl.freq))
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   478
$(eval $(call FREQ_MACRO,VOA_FREQLIST,freq,AWL,wordlist/awl.freq))
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   479
$(eval $(call FREQ_MACRO,VOA_FREQLIST,freq,NGSL,wordlist/ngsl.freq))
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   480
$(eval $(call FREQ_MACRO,VOA_FREQLIST,freq,NAWL,wordlist/nawl.freq))
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   481
$(eval $(call FREQ_MACRO,VOA_FREQLIST,var,BSL,wordlist/bsl.var))
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   482
$(eval $(call FREQ_MACRO,VOA_FREQLIST,var,TSL,wordlist/tsl.var))
646
2d488cfc4c0c Add frequency markers to dictd dictionary and Anki cards.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 644
diff changeset
   483
664
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   484
# For other dictionaries.
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   485
$(eval $(call FREQ_MACRO,FREQLIST,freq,GSL,wordlist/gsl.freq))
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   486
$(eval $(call FREQ_MACRO,FREQLIST,freq,AWL,wordlist/awl.freq))
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   487
$(eval $(call FREQ_MACRO,FREQLIST,freq,NGSL,wordlist/ngsl.freq))
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   488
$(eval $(call FREQ_MACRO,FREQLIST,freq,NAWL,wordlist/nawl.freq))
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   489
$(eval $(call FREQ_MACRO,FREQLIST,var,VOA,dist/wordlist/voa.list))
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   490
$(eval $(call FREQ_MACRO,FREQLIST,var,BSL,wordlist/bsl.var))
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   491
$(eval $(call FREQ_MACRO,FREQLIST,var,TSL,wordlist/tsl.var))
1075
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   492
$(eval $(call FREQ_MACRO,FREQLIST,var,KET,wordlist/ket.var))
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   493
$(eval $(call FREQ_MACRO,FREQLIST,var,PET,wordlist/pet.var))
643
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   494
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   495
# BNC_COCA_BASEWORD := $(wildcard wordlist/bnc+coca/basewrd[0-1]?.txt)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   496
# FREQ_DEP += $(BNC_COCA_BASEWORD)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   497
# FREQ_FILTER += $(patsubst %,-b:%,$(BNC_COCA_BASEWORD))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   498
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   499
GSL_BASEWORD := $(wildcard wordlist/gsl_1000_*.var)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   500
# FREQ_DEP += $(GSL_BASEWORD)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   501
# FREQ_FILTER += $(patsubst %,-b:%,$(GSL_BASEWORD))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   502
FREQ_DEP += dist/wordlist/gsl.var
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   503
FREQ_FILTER += -b:dist/wordlist/gsl.var
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   504
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   505
NGSL_BASEWORD := $(wildcard wordlist/ngsl_1000_[1-3].var wordlist/ngsl_supplemental.var)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   506
# FREQ_DEP += $(NGSL_BASEWORD)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   507
# FREQ_FILTER += $(patsubst %,-b:%,$(NGSL_BASEWORD))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   508
FREQ_DEP += dist/wordlist/ngsl.var
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   509
FREQ_FILTER += -b:dist/wordlist/ngsl.var
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   510
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   511
# FAMOUS_FREQLIST := wordlist/awl.freq wordlist/gsl.freq wordlist/nawl.freq wordlist/ngsl.freq
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   512
# FREQ_FILTER += $(patsubst %,-f:%,$(FAMOUS_FREQLIST))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   513
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   514
AWL_BASEWORD := wordlist/awl.var
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   515
FREQ_DEP += $(AWL_BASEWORD)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   516
FREQ_FILTER += $(patsubst %,-b:%,$(AWL_BASEWORD))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   517
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   518
NAWL_BASEWORD := wordlist/nawl.var
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   519
FREQ_DEP += $(NAWL_BASEWORD)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   520
FREQ_FILTER += $(patsubst %,-b:%,$(NAWL_BASEWORD))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   521
1075
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   522
KET_BASEWORD := wordlist/ket.var
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   523
FREQ_DEP += $(KET_BASEWORD)
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   524
FREQ_FILTER += $(patsubst %,-b:%,$(KET_BASEWORD))
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   525
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   526
PET_BASEWORD := wordlist/pet.var
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   527
FREQ_DEP += $(PET_BASEWORD)
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   528
FREQ_FILTER += $(patsubst %,-b:%,$(PET_BASEWORD))
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   529
643
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   530
VOA_BASEWORD := dist/wordlist/voa.list
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   531
FREQ_DEP += $(VOA_BASEWORD)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   532
FREQ_FILTER += $(patsubst %,-b:%,$(VOA_BASEWORD))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   533
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   534
FREQ_FILTER += -12000f:wordlist/oanc.freq
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   535
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   536
.PHONY: freq
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   537
freq: dist/wordlist/gadict.list py/gadict_freq.py $(FREQ_DEP) $(BUILD_SCRIPTS)
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   538
	python3 -B py/gadict_freq.py +b:dist/wordlist/gadict.list $(FREQ_FILTER)
723
53095b480a73 Treat first argument in format like the rest arguments. Targets to print
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
   539
53095b480a73 Treat first argument in format like the rest arguments. Targets to print
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
   540
.PHONY: missing
724
98fd211d27db Target to show combined statistics about missing words.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 723
diff changeset
   541
missing: missing-words missing-stat
98fd211d27db Target to show combined statistics about missing words.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 723
diff changeset
   542
98fd211d27db Target to show combined statistics about missing words.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 723
diff changeset
   543
.PHONY: missing-words
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   544
missing-words: dist/wordlist/gadict.list $(FREQ_DEP) $(BUILD_SCRIPTS)
723
53095b480a73 Treat first argument in format like the rest arguments. Targets to print
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
   545
	@echo ===== VOA =====
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   546
	python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list +b:dist/wordlist/voa.list
723
53095b480a73 Treat first argument in format like the rest arguments. Targets to print
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
   547
	@echo ===== GSL =====
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   548
	python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list +f:wordlist/gsl.freq
723
53095b480a73 Treat first argument in format like the rest arguments. Targets to print
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
   549
	@echo ===== AWL =====
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   550
	python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list +f:wordlist/awl.freq
723
53095b480a73 Treat first argument in format like the rest arguments. Targets to print
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
   551
	@echo ===== NGSL =====
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   552
	python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list +f:wordlist/ngsl.freq
723
53095b480a73 Treat first argument in format like the rest arguments. Targets to print
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
   553
	@echo ===== NAWL =====
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   554
	python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list +f:wordlist/nawl.freq
723
53095b480a73 Treat first argument in format like the rest arguments. Targets to print
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
   555
	@echo ===== BSL =====
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   556
	python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list +b:wordlist/bsl.var
723
53095b480a73 Treat first argument in format like the rest arguments. Targets to print
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
   557
	@echo ===== TSL =====
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   558
	python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list +b:wordlist/tsl.var
1075
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   559
	@echo ===== KET =====
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   560
	python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list +b:wordlist/ket.var
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   561
	@echo ===== PET =====
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   562
	python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list +b:wordlist/pet.var
723
53095b480a73 Treat first argument in format like the rest arguments. Targets to print
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
   563
1008
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   564
.PHONY: missing-speakout
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   565
missing-speakout: dist/wordlist/gadict.list $(FREQ_DEP) $(BUILD_SCRIPTS)
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   566
	@echo ===== so1 =====
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   567
	python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list +b:so1.list | tee so1.miss
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   568
	@echo ===== so2 =====
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   569
	python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list +b:so2.list | tee so2.miss
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   570
	@echo ===== so3 =====
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   571
	python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list +b:so3.list | tee so3.miss
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   572
	@echo ===== so4 =====
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   573
	python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list +b:so4.list | tee so4.miss
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   574
829
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   575
define stat-cmd
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   576
{ \
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   577
stat() { \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   578
  lack=`python3 -B py/gadict_freq.py -b:dist/wordlist/gadict.list $$2:$$3 | wc -l`; \
801
04397698b6be Count only base word in missing statistic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 794
diff changeset
   579
  total=`grep -v '^[ 	]' $$3 | wc -l`; \
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   580
  cover=$$((total - lack)); \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   581
  printf "   %4s %5s %5s %4s\n" $$1 $$cover $$total $$lack; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   582
}; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   583
echo "   ==== ===== ===== ===="; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   584
echo "   List Cover Total Lack"; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   585
echo "   ==== ===== ===== ===="; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   586
stat VOA +b dist/wordlist/voa.list; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   587
stat GSL +f wordlist/gsl.freq; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   588
stat AWL +f wordlist/awl.freq; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   589
stat NGSL +f wordlist/ngsl.freq; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   590
stat NAWL +f wordlist/nawl.freq; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   591
stat BSL +b wordlist/bsl.var; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   592
stat TSL +b wordlist/tsl.var; \
1075
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   593
stat KET +b wordlist/ket.var; \
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   594
stat PET +b wordlist/pet.var; \
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   595
echo "   ==== ===== ===== ===="; \
829
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   596
}
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   597
endef
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   598
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   599
.PHONY: missing-stat
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   600
missing-stat: dist/wordlist/gadict.list $(FREQ_DEP) $(BUILD_SCRIPTS)
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   601
	@${stat-cmd}
643
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   602
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   603
dist/wordlist/%.list: %.gadict py/gadict_headwords.py $(BUILD_SCRIPTS) | dist/wordlist/
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   604
	python3 -B py/gadict_headwords.py  $< $@
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   605
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   606
dist/wordlist/gsl.var: $(GSL_BASEWORD) | dist/wordlist/
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   607
	cat $(GSL_BASEWORD) >$@
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   608
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   609
dist/wordlist/ngsl.var: $(NGSL_BASEWORD) | dist/wordlist/
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   610
	cat $(NGSL_BASEWORD) >$@
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   611
651
08417d7454ec Add VOA to frequency list. Fix dependency on freq list.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 646
diff changeset
   612
dist/wordlist/voa.list: gadict_voa.gadict py/gadict_headwords.py $(MAKEFILE_LIST) | dist/wordlist/
643
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   613
	python3 -B py/gadict_headwords.py gadict_voa.gadict >$@
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   614
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   615
dist/wordlist/:
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   616
	mkdir -p $@
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   617
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   618
################################################################
54
12426df26196 Add headlines docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 50
diff changeset
   619
# Build targets.
0
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   620
23
946ae4b96419 Phony targets marked.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
   621
.PHONY: all
245
5b9fac360762 Rename target to avoid disambiguate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 241
diff changeset
   622
all: dict
0
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   623
431
4ec7d0ea1602 Fix: ".name" and ".url" intermediate files for dictd automatically removed by GNU make.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 429
diff changeset
   624
.PHONY: dict dictd c5
4ec7d0ea1602 Fix: ".name" and ".url" intermediate files for dictd automatically removed by GNU make.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 429
diff changeset
   625
dictd c5: dict
245
5b9fac360762 Rename target to avoid disambiguate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 241
diff changeset
   626
dict: $(DICTDZ_FILES) $(INDEX_FILES)
0
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   627
592
f45410f1f80e Move dictfmt options to variable.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 589
diff changeset
   628
DICTFMT := dictfmt
41
8f1dc5d77f3d Switch dictionary to dictd -c5 format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
   629
#  --case-sensitive
593
32de94c1b039 Disable word wrapping for dictd dictionary.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 592
diff changeset
   630
DICTFMT_OPT := --headword-separator '; ' --break-headwords --without-headword --utf8 --allchars --columns 0
592
f45410f1f80e Move dictfmt options to variable.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 589
diff changeset
   631
404
cdfa6dfa9072 Integrate dictionary metainfo line name and home page url into dictd build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 401
diff changeset
   632
dist/dictd/%.dict dist/dictd/%.index: dist/dictd/%.c5 dist/dictd/%.c5.name dist/dictd/%.c5.url $(MAKEFILE_LIST)
592
f45410f1f80e Move dictfmt options to variable.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 589
diff changeset
   633
	(cd dist/dictd; $(DICTFMT) $(DICTFMT_OPT)  -c5  -s "`cat $*.c5.name`" -u "`cat $*.c5.url`"  $*)  < $<
0
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   634
387
1616fc7c1f09 Start using "gadict.py".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 384
diff changeset
   635
dist/dictd/%.dict.dz: dist/dictd/%.dict
41
8f1dc5d77f3d Switch dictionary to dictd -c5 format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
   636
	dictzip -c $< >$@
1
b23e948de24a Make article for all verbs form.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 0
diff changeset
   637
624
934a2a6cbe27 Add dictionaries logo. Goldendict supports PNG format and by default display
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 614
diff changeset
   638
dist/dictd/%.png: %.xpm | dist/dictd/
1209
eacf1b282688 Switched to graphicsmagick to generate favicon. It doesn't support Microsoft ICO so generate PNG instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1207
diff changeset
   639
	gm convert $< $@
624
934a2a6cbe27 Add dictionaries logo. Goldendict supports PNG format and by default display
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 614
diff changeset
   640
431
4ec7d0ea1602 Fix: ".name" and ".url" intermediate files for dictd automatically removed by GNU make.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 429
diff changeset
   641
GADICT_SUFFIXES := en-ru+uk en-ru en-uk voa
4ec7d0ea1602 Fix: ".name" and ".url" intermediate files for dictd automatically removed by GNU make.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 429
diff changeset
   642
.SECONDARY: $(patsubst %,dist/dictd/gadict_%.c5.name,$(GADICT_SUFFIXES))
4ec7d0ea1602 Fix: ".name" and ".url" intermediate files for dictd automatically removed by GNU make.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 429
diff changeset
   643
.SECONDARY: $(patsubst %,dist/dictd/gadict_%.c5.url,$(GADICT_SUFFIXES))
404
cdfa6dfa9072 Integrate dictionary metainfo line name and home page url into dictd build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 401
diff changeset
   644
cdfa6dfa9072 Integrate dictionary metainfo line name and home page url into dictd build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 401
diff changeset
   645
dist/dictd/%.c5.name dist/dictd/%.c5.url: dist/dictd/%.c5
cdfa6dfa9072 Integrate dictionary metainfo line name and home page url into dictd build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 401
diff changeset
   646
	:
cdfa6dfa9072 Integrate dictionary metainfo line name and home page url into dictd build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 401
diff changeset
   647
396
4f16fb80b2a7 Suppress __pycache__ dir.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 393
diff changeset
   648
# -B  suppress __pycache__ dir
410
65b38ec04ea4 Include VOA in build. Make possible separate Ru/Uk build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 404
diff changeset
   649
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   650
dist/dictd/gadict.c5: gadict.gadict $(FREQLIST_DEP) py/gadict.py py/gadict_c5.py $(MAKEFILE_LIST) | dist/dictd/
942
c90e846909b0 Fixed: can't show error line due to symbol conversion errors.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 930
diff changeset
   651
	LC_ALL=en_US.utf8 python3 -B py/gadict_c5.py $(FREQLIST_OPT)  $< $@
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   652
	echo "gadict En-Ru+Uk"> dist/dictd/gadict.c5.name
646
2d488cfc4c0c Add frequency markers to dictd dictionary and Anki cards.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 644
diff changeset
   653
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   654
dist/dictd/gadict_en-ru.c5: gadict.gadict py/gadict.py py/gadict_c5.py $(MAKEFILE_LIST) | dist/dictd/
942
c90e846909b0 Fixed: can't show error line due to symbol conversion errors.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 930
diff changeset
   655
	LC_ALL=en_US.utf8 python3 -B py/gadict_c5.py  $< $@ -lang:ru
410
65b38ec04ea4 Include VOA in build. Make possible separate Ru/Uk build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 404
diff changeset
   656
	echo "gadict En-Ru"> dist/dictd/gadict_en-ru.c5.name
65b38ec04ea4 Include VOA in build. Make possible separate Ru/Uk build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 404
diff changeset
   657
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   658
dist/dictd/gadict_en-uk.c5: gadict.gadict py/gadict.py py/gadict_c5.py $(MAKEFILE_LIST) | dist/dictd/
942
c90e846909b0 Fixed: can't show error line due to symbol conversion errors.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 930
diff changeset
   659
	LC_ALL=en_US.utf8 python3 -B py/gadict_c5.py  $< $@ -lang:uk
410
65b38ec04ea4 Include VOA in build. Make possible separate Ru/Uk build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 404
diff changeset
   660
	echo "gadict En-Uk"> dist/dictd/gadict_en-uk.c5.name
65b38ec04ea4 Include VOA in build. Make possible separate Ru/Uk build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 404
diff changeset
   661
646
2d488cfc4c0c Add frequency markers to dictd dictionary and Anki cards.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 644
diff changeset
   662
dist/dictd/gadict_voa.c5: gadict_voa.gadict py/gadict.py py/gadict_c5.py $(MAKEFILE_LIST) | dist/dictd/
942
c90e846909b0 Fixed: can't show error line due to symbol conversion errors.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 930
diff changeset
   663
	LC_ALL=en_US.utf8 python3 -B py/gadict_c5.py  $< $@ -lang:en
387
1616fc7c1f09 Start using "gadict.py".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 384
diff changeset
   664
646
2d488cfc4c0c Add frequency markers to dictd dictionary and Anki cards.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 644
diff changeset
   665
dist/dictd/%.c5: %.gadict py/gadict.py py/gadict_c5.py $(MAKEFILE_LIST) | dist/dictd/
942
c90e846909b0 Fixed: can't show error line due to symbol conversion errors.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 930
diff changeset
   666
	LC_ALL=en_US.utf8 python3 -B py/gadict_c5.py  $< $@
624
934a2a6cbe27 Add dictionaries logo. Goldendict supports PNG format and by default display
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 614
diff changeset
   667
424
98c8f14fc972 Fix "stat" target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 410
diff changeset
   668
dist/dictd/:
387
1616fc7c1f09 Start using "gadict.py".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 384
diff changeset
   669
	mkdir -p $@
1616fc7c1f09 Start using "gadict.py".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 384
diff changeset
   670
536
c9f0064d8661 Generate import file for space repetition software in TAB format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 505
diff changeset
   671
.PHONY: srs
555
4a3188fc8951 Generating Packaged Anki Desk files for Anki space repetition software.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 547
diff changeset
   672
srs: $(SRS_ANKI_FILES) $(SRS_TAB_FILES)
4a3188fc8951 Generating Packaged Anki Desk files for Anki space repetition software.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 547
diff changeset
   673
564
93d0bdb815a1 Separate target to build anki files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 558
diff changeset
   674
.PHONY: anki
93d0bdb815a1 Separate target to build anki files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 558
diff changeset
   675
anki: $(SRS_ANKI_FILES)
93d0bdb815a1 Separate target to build anki files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 558
diff changeset
   676
775
6aa817943828 Makefile warn about duplicate implicit rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 774
diff changeset
   677
GADICT_DEL_FILE := $(wildcard gadict.del)
6aa817943828 Makefile warn about duplicate implicit rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 774
diff changeset
   678
GADICT_DEL_OPT :=
6aa817943828 Makefile warn about duplicate implicit rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 774
diff changeset
   679
ifneq '' '$(GADICT_DEL_FILE)'
6aa817943828 Makefile warn about duplicate implicit rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 774
diff changeset
   680
  GADICT_DEL_OPT := -delfile=$(GADICT_DEL_FILE)
6aa817943828 Makefile warn about duplicate implicit rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 774
diff changeset
   681
endif
6aa817943828 Makefile warn about duplicate implicit rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 774
diff changeset
   682
773
3bf7e4c6233f Old name for 'gadict_en-ru+uk' should be passed to keep hash values the same
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 772
diff changeset
   683
# Specific rules (due to renames or other customization).
775
6aa817943828 Makefile warn about duplicate implicit rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 774
diff changeset
   684
dist/anki/gadict.apkg: gadict.gadict $(GADICT_DEL_FILE) py/gadict.py py/gadict_srs_anki.py $(FREQLIST_DEP) $(MAKEFILE_LIST) | dist/anki/
1008
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   685
	PYTHONPATH=$(ANKI_PY_DIR): LC_ALL=en_US.utf8 python3 -B py/gadict_srs_anki.py -name="gadict_en-ru+uk" -rich $(GADICT_DEL_OPT) $(FREQLIST_OPT) $< $@
773
3bf7e4c6233f Old name for 'gadict_en-ru+uk' should be passed to keep hash values the same
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 772
diff changeset
   686
3bf7e4c6233f Old name for 'gadict_en-ru+uk' should be passed to keep hash values the same
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 772
diff changeset
   687
dist/anki/gadict_voa.apkg: gadict_voa.gadict py/gadict.py py/gadict_srs_anki.py $(VOA_FREQLIST_DEP) $(MAKEFILE_LIST) | dist/anki/
1008
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   688
	PYTHONPATH=$(ANKI_PY_DIR): LC_ALL=en_US.utf8 python3 -B py/gadict_srs_anki.py -name="gadict_voa" $(VOA_FREQLIST_OPT) $< $@
773
3bf7e4c6233f Old name for 'gadict_en-ru+uk' should be passed to keep hash values the same
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 772
diff changeset
   689
1201
fbbb13f2e0ec Fixed dependency of py file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1191
diff changeset
   690
dist/anki/%.apkg: %.gadialog py/gadialog_srs_anki.py $(MAKEFILE_LIST) | dist/anki/
1191
a3a7c8342b1c Renamed gaphrase => gadialog to use gaphrase name for collocations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1190
diff changeset
   691
	PYTHONPATH=$(ANKI_PY_DIR): LC_ALL=en_US.utf8 python3 -B py/gadialog_srs_anki.py -name="$*" $< $@
1146
50007cd95972 Added generation of Anki cards with mini-dialogs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1142
diff changeset
   692
1203
c767b62ec786 Added support for gaphrase format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1202
diff changeset
   693
dist/anki/%.apkg: %.gaphrase py/gaphrase_srs_anki.py $(MAKEFILE_LIST) | dist/anki/
c767b62ec786 Added support for gaphrase format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1202
diff changeset
   694
	PYTHONPATH=$(ANKI_PY_DIR): LC_ALL=en_US.utf8 python3 -B py/gaphrase_srs_anki.py -name="$*" $< $@
c767b62ec786 Added support for gaphrase format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1202
diff changeset
   695
773
3bf7e4c6233f Old name for 'gadict_en-ru+uk' should be passed to keep hash values the same
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 772
diff changeset
   696
# General rules.
666
ef697459f88e Store Anki files in separate directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 665
diff changeset
   697
dist/anki/%.apkg: %.gadict %.del py/gadict.py py/gadict_srs_anki.py $(FREQLIST_DEP) $(MAKEFILE_LIST) | dist/anki/
1008
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   698
	PYTHONPATH=$(ANKI_PY_DIR): LC_ALL=en_US.utf8 python3 -B py/gadict_srs_anki.py -name=$* -rich -delfile=$*.del $(FREQLIST_OPT) $< $@
608
01fcbb1d5cea Add a way to mark card for deletion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 593
diff changeset
   699
666
ef697459f88e Store Anki files in separate directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 665
diff changeset
   700
dist/anki/%.apkg: %.gadict py/gadict.py py/gadict_srs_anki.py $(FREQLIST_DEP) $(MAKEFILE_LIST) | dist/anki/
1008
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   701
	PYTHONPATH=$(ANKI_PY_DIR): LC_ALL=en_US.utf8 python3 -B py/gadict_srs_anki.py -name=$* -rich $(FREQLIST_OPT) $< $@
536
c9f0064d8661 Generate import file for space repetition software in TAB format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 505
diff changeset
   702
772
ea173f7395a0 Separate target to generate SRS tab-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 771
diff changeset
   703
.PHONY: tab
ea173f7395a0 Separate target to generate SRS tab-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 771
diff changeset
   704
tab: $(SRS_TAB_FILES)
ea173f7395a0 Separate target to generate SRS tab-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 771
diff changeset
   705
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   706
dist/srs/gadict.tab.txt: gadict.gadict py/gadict.py py/gadict_srs_tab.py $(MAKEFILE_LIST) | dist/srs/
644
e38cd6112193 New command line format for passing language list.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   707
	python3 -B py/gadict_srs_tab.py  $< $@ -lang:ru,uk
536
c9f0064d8661 Generate import file for space repetition software in TAB format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 505
diff changeset
   708
587
caf484e75e19 Generalise rule for building .tab.txt files. This helps build off project files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 564
diff changeset
   709
dist/srs/%.tab.txt: %.gadict py/gadict.py py/gadict_srs_tab.py $(MAKEFILE_LIST) | dist/srs/
536
c9f0064d8661 Generate import file for space repetition software in TAB format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 505
diff changeset
   710
	python3 -B py/gadict_srs_tab.py  $< $@
c9f0064d8661 Generate import file for space repetition software in TAB format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 505
diff changeset
   711
666
ef697459f88e Store Anki files in separate directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 665
diff changeset
   712
dist/anki/ dist/srs/:
536
c9f0064d8661 Generate import file for space repetition software in TAB format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 505
diff changeset
   713
	mkdir -p $@
c9f0064d8661 Generate import file for space repetition software in TAB format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 505
diff changeset
   714
776
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   715
.PHONY: html
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   716
html: $(DICT_HTML_FILES)
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   717
837
ed8a84d9566f No need to include VOA marked in VOA HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 830
diff changeset
   718
dist/html/gadict_voa.html: gadict_voa.gadict py/gadict.py py/gadict_html.py $(VOA_FREQLIST_DEP) $(MAKEFILE_LIST) | dist/html/
ed8a84d9566f No need to include VOA marked in VOA HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 830
diff changeset
   719
	python3 -B py/gadict_html.py $(VOA_FREQLIST_OPT) $< $@
ed8a84d9566f No need to include VOA marked in VOA HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 830
diff changeset
   720
776
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   721
dist/html/%.html: %.gadict py/gadict.py py/gadict_html.py $(FREQLIST_DEP) $(MAKEFILE_LIST) | dist/html/
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   722
	python3 -B py/gadict_html.py $(FREQLIST_OPT) $< $@
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   723
1224
23dc533e3dd3 Added HTML formatter for gadialog files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1214
diff changeset
   724
dist/html/gadialog.html: gadialog.gadialog py/gadialog.py py/gadialog_html.py | dist/html/
23dc533e3dd3 Added HTML formatter for gadialog files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1214
diff changeset
   725
	python3 -B py/gadialog_html.py $< $@
23dc533e3dd3 Added HTML formatter for gadialog files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1214
diff changeset
   726
776
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   727
dist/html/:
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   728
	mkdir -p $@
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   729
54
12426df26196 Add headlines docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 50
diff changeset
   730
################################################################
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   731
# Documentation targets.
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   732
768
bd3278653eaa 'html' target will be used for other purpose.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 754
diff changeset
   733
.PHONY: docs web
bd3278653eaa 'html' target will be used for other purpose.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 754
diff changeset
   734
docs web: www
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   735
768
bd3278653eaa 'html' target will be used for other purpose.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 754
diff changeset
   736
.PHONY: www
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   737
www: $(WWW_HTML_FILES)
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   738
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   739
$(INDEX_HTML_FILE): dist/www/README.html
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   740
	cp $< $@
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   741
424
98c8f14fc972 Fix "stat" target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 410
diff changeset
   742
$(RST_HTML_FILES): dist/www/%.html: www/%.rst $(RST_CSS_FILE) $(RST_TMPL_FILE) $(BUILD_SCRIPTS) | dist/www/
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   743
	$(RST2HTML) $(RST2HTML_FLAGS) --stylesheet=$(RST_CSS_FILE) --template=$(RST_TMPL_FILE)  www/$*.rst  $@
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   744
424
98c8f14fc972 Fix "stat" target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 410
diff changeset
   745
dist/www/:
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   746
	mkdir -p $@
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   747
789
1a78ecda2555 Add dependency on version information for www files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 779
diff changeset
   748
$(RST_TMPL_FILE): www/tmpl/rst.tmpl.in VERSION $(BUILD_SCRIPTS) | $(dir $(RST_TMPL_FILE))
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   749
	\
482
fefea56726d2 Warn if build done without version file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 481
diff changeset
   750
[[ "${visclean}" = no ]] && warn1='<b>Warning</b>: Build done with local changes!' || :; \
fefea56726d2 Warn if build done without version file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 481
diff changeset
   751
[[ -z "${visclean}" ]] && warn1='<b>Warning</b>: Build done without <b>VERSION</b> file!' || :; \
fefea56726d2 Warn if build done without version file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 481
diff changeset
   752
[[ "${vatrelease}" = no ]] && warn2='<b>Warning</b>: Build is far from latest <tt>$(vtag)</tt> release state by $(vtagdist) changes.' || :; \
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   753
sed -e "s|{date}|$$(date +%F)|" -e "s|{rev}|$$(hg id -i)|" -e "s|{warn1}|$$warn1|" -e "s|{warn2}|$$warn2|" <$< >$@
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   754
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   755
################################################################
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   756
# Article statistics.
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   757
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   758
.PHONY: stat
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   759
stat: $(STAT_HTML_FILE)
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   760
547
f571a9e4e70c Fix: directory without trailing "/" is not created.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 545
diff changeset
   761
$(STAT_HTML_FILE): $(STAT_RST_FILE) $(RST_CSS_FILE) $(RST_TMPL_FILE) | $(dir $(STAT_HTML_FILE))
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   762
	$(RST2HTML) $(RST2HTML_FLAGS) --stylesheet=$(RST_CSS_FILE) --template=$(RST_TMPL_FILE)  $<  $@
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   763
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   764
$(STAT_RST_FILE): $(GADICT_FILES) $(STAT_MISSING_FILE) $(BUILD_SCRIPTS) | $(dir $(STAT_RST_FILE))
109
5bb58b8d87a7 Add version info into documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 108
diff changeset
   765
	{ \
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   766
echo '==========================='; \
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   767
echo ' gadict project statistics'; \
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   768
echo '==========================='; \
429
e721e428b909 Translations count.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 428
diff changeset
   769
echo; \
428
8598efaef822 Align STAT table columns to the right.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 427
diff changeset
   770
echo '.. class:: right'; \
8598efaef822 Align STAT table columns to the right.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 427
diff changeset
   771
echo; \
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   772
echo '==================== ======== ======== ========'; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   773
echo '   Dictionary        Articles Meanings Examples'; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   774
echo '==================== ======== ======== ========'; \
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   775
total=0; \
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   776
for dic in $(GADICT_FILES); do \
681
13b9335eae0d Add number of meanings and examples statistic. Remove ru/uk statistic because
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 674
diff changeset
   777
  awk '\
13b9335eae0d Add number of meanings and examples statistic. Remove ru/uk statistic because
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 674
diff changeset
   778
BEGIN { art=0; tr=0; ex = 0; };\
13b9335eae0d Add number of meanings and examples statistic. Remove ru/uk statistic because
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 674
diff changeset
   779
/^__$$/{ art += 1 };\
13b9335eae0d Add number of meanings and examples statistic. Remove ru/uk statistic because
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 674
diff changeset
   780
/^(en|ru|uk)> /{ ex += 1 };\
13b9335eae0d Add number of meanings and examples statistic. Remove ru/uk statistic because
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 674
diff changeset
   781
/^(n|det|pron|adj|v|adv|prep|conj|num|int|phr|phr\.v|contr|abbr|prefix)$$/{ tr += 1 };'\
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   782
"END {printf \"%20s %8s %8s %8s\n\", \"$${dic%.gadict}\", art, tr, ex};"\
681
13b9335eae0d Add number of meanings and examples statistic. Remove ru/uk statistic because
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 674
diff changeset
   783
  <$$dic; \
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   784
done; \
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   785
echo '==================== ======== ======== ========'; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   786
echo; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   787
echo '.. table:: ``gadict`` coverage of famous word lists'; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   788
echo '   :class: right'; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   789
echo; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   790
cat  $(STAT_MISSING_FILE); \
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   791
} >$@
276
66db1bbebe45 Generalise RST build code. Remove index.rst, use README.rst instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   792
844
e8e98ed4e381 Fix dependencies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 837
diff changeset
   793
$(STAT_MISSING_FILE): dist/wordlist/gadict.list $(FREQ_DEP) $(BUILD_SCRIPTS) | $(dir $(STAT_MISSING_FILE))
829
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   794
	@echo '*' make stat
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   795
	@${stat-cmd} >$(STAT_MISSING_FILE)
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   796
424
98c8f14fc972 Fix "stat" target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 410
diff changeset
   797
dist/misc/:
98c8f14fc972 Fix "stat" target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 410
diff changeset
   798
	mkdir -p $@
98c8f14fc972 Fix "stat" target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 410
diff changeset
   799
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   800
################################################################
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   801
# Misc targets.
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   802
684
6ba6249fb194 Create new project logo. Add favicon to project sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
   803
.PHONY: favicon
6ba6249fb194 Create new project logo. Add favicon to project sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
   804
favicon: $(FAVICON)
6ba6249fb194 Create new project logo. Add favicon to project sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
   805
6ba6249fb194 Create new project logo. Add favicon to project sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
   806
$(FAVICON): $(LOGO_FILE) $(MAKEFILE_LIST) | $(dir $(FAVICON))
1209
eacf1b282688 Switched to graphicsmagick to generate favicon. It doesn't support Microsoft ICO so generate PNG instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1207
diff changeset
   807
	gm convert +antialias $< -resize 16x16 $@
684
6ba6249fb194 Create new project logo. Add favicon to project sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
   808
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   809
.PHONY: logo
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   810
logo: logo-png
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   811
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   812
.PHONY: logo-png
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   813
logo-png: $(LOGO_PNG_FILES)
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   814
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   815
# Require:
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   816
#   $ sudo apt-get install imagemagick librsvg2-bin
684
6ba6249fb194 Create new project logo. Add favicon to project sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
   817
$(LOGO_PNG_FILES): dist/misc/logo-%.png: $(LOGO_FILE) | dist/misc/
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   818
	convert +antialias -background transparent $< -resize $* $@
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   819
308
7a5f4265a581 Build and deploy VOA in PDF format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 287
diff changeset
   820
.PHONY: voa
614
594fd4168b66 Fix: do not mess up project root with LaTeX related files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 608
diff changeset
   821
voa: dist/pdf/voa-special.pdf
308
7a5f4265a581 Build and deploy VOA in PDF format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 287
diff changeset
   822
614
594fd4168b66 Fix: do not mess up project root with LaTeX related files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 608
diff changeset
   823
dist/pdf/voa-special.pdf: contrib/voa-special.tex | dist/pdf/
594fd4168b66 Fix: do not mess up project root with LaTeX related files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 608
diff changeset
   824
	$(LATEX2PDF) -output-directory dist/pdf/ $<
594fd4168b66 Fix: do not mess up project root with LaTeX related files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 608
diff changeset
   825
594fd4168b66 Fix: do not mess up project root with LaTeX related files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 608
diff changeset
   826
dist/pdf/:
594fd4168b66 Fix: do not mess up project root with LaTeX related files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 608
diff changeset
   827
	mkdir -p $@
308
7a5f4265a581 Build and deploy VOA in PDF format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 287
diff changeset
   828
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   829
################################################################
108
1f1363141da7 Dump version info with 'version' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 107
diff changeset
   830
# Helpers targets.
1f1363141da7 Dump version info with 'version' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 107
diff changeset
   831
1f1363141da7 Dump version info with 'version' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 107
diff changeset
   832
.PHONY: help
1f1363141da7 Dump version info with 'version' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 107
diff changeset
   833
help:
122
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   834
	@\
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   835
echo; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   836
echo Current configuration:; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   837
echo; \
480
4413ccc9e216 Include VERSION file into source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 479
diff changeset
   838
sed 's=^=  =' <$(VER_FILE)
122
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   839
	@if [ -f Makefile.config ]; then \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   840
		echo; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   841
		echo User configuration:; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   842
		echo; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   843
		sed 's=^=  =' <Makefile.config; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   844
	fi
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   845
	@\
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   846
echo; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   847
echo Supported targets:; \
123
49f373dba523 Fix output sanity.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 122
diff changeset
   848
echo; \
150
28cd06b06bb8 Rename BUILD_SCRIPT ==> BUILD_SCRIPTS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 148
diff changeset
   849
sed -n -e '/^[[:alnum:]_-]*:/{s=^\(.*\):.*=  \1=;p;}' $(BUILD_SCRIPTS)
94
1b2cf5b2b46c Add target that print statistics about word count.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 85
diff changeset
   850
249
5ad075a475f2 TODO convention.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 245
diff changeset
   851
.PHONY: todo
5ad075a475f2 TODO convention.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 245
diff changeset
   852
todo:
5ad075a475f2 TODO convention.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 245
diff changeset
   853
	grep -nH 'TODO\|XXX' $(RST_FILES) $(C5_FILES)
5ad075a475f2 TODO convention.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 245
diff changeset
   854
660
5305f170237d Add spell checker based on hunspell.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 655
diff changeset
   855
# Install:
5305f170237d Add spell checker based on hunspell.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 655
diff changeset
   856
#   $ sudo apt-get install python3-enchant hunspell-en-us hunspell-en-gb hunspell-en-au hunspell-en-ca
5305f170237d Add spell checker based on hunspell.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 655
diff changeset
   857
.PHONY: check
5305f170237d Add spell checker based on hunspell.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 655
diff changeset
   858
check:
769
7877b9a74af7 Rename 'gadict_en-ru+uk' to simply 'gadict' because '+' sign should be escaped in URL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   859
	python3 -B py/gadict_spellcheck.py gadict.gadict
660
5305f170237d Add spell checker based on hunspell.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 655
diff changeset
   860
94
1b2cf5b2b46c Add target that print statistics about word count.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 85
diff changeset
   861
################################################################
54
12426df26196 Add headlines docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 50
diff changeset
   862
# Clean targets.
12426df26196 Add headlines docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 50
diff changeset
   863
23
946ae4b96419 Phony targets marked.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
   864
.PHONY: distclean
946ae4b96419 Phony targets marked.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
   865
distclean: clean
480
4413ccc9e216 Include VERSION file into source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 479
diff changeset
   866
	rm -rf $(VER_FILE)
13
d0e948499faf Added targets [un]install-user to proper install dict for current user.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 9
diff changeset
   867
23
946ae4b96419 Phony targets marked.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
   868
.PHONY: clean
0
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   869
clean:
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   870
	rm -rf dist/
63
f1bd82604661 Add help target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 56
diff changeset
   871