Makefile
author Oleksandr Gavenko <gavenkoa@gmail.com>
Tue, 12 May 2020 15:49:52 +0300
changeset 1214 8aecadfc6e8f
parent 1211 275340c61150
child 1224 23dc533e3dd3
permissions -rw-r--r--
Docs: installing GraphicsMagick on Cygwin.
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
776
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   159
DICT_HTML_FILES := $(patsubst %.gadict,dist/html/%.html,$(GADICT_FILES))
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   160
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   161
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
   162
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
   163
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   164
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
   165
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
   166
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   167
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
   168
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   169
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
   170
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
   171
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
   172
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   173
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
   174
684
6ba6249fb194 Create new project logo. Add favicon to project sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
   175
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
   176
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
   177
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
   178
FAVICON := dist/www/favicon.png
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   179
1142
ce538f6b30b1 Added gaphrase.el to install build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1075
diff changeset
   180
EL_FILES := $(wildcard contrib/*.el)
ce538f6b30b1 Added gaphrase.el to install build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1075
diff changeset
   181
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   182
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
   183
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
   184
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   185
################################################################
633
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   186
# Install/uninstall targets.
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   187
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   188
.PHONY: install
754
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   189
install: install-dict install-emacs
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   190
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   191
.PHONY: install-dict
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   192
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
   193
	mkdir -p $(datadir)
633
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   194
	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
   195
		$(INSTALL_DATA) $$f $(datadir); \
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   196
	done
754
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   197
947
d46d0a91ac48 Added alias for target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 942
diff changeset
   198
.PHONY: install-emacs install-el
d46d0a91ac48 Added alias for target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 942
diff changeset
   199
install-el: install-emacs
754
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   200
install-emacs:
2c32c47e83a9 Split Emacs mode installation from dictionary files installation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 724
diff changeset
   201
	mkdir -p $(elispdir)
1142
ce538f6b30b1 Added gaphrase.el to install build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1075
diff changeset
   202
	$(INSTALL_DATA) $(EL_FILES) $(elispdir)
ce538f6b30b1 Added gaphrase.el to install build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1075
diff changeset
   203
	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
   204
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   205
.PHONY: uninstall
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   206
uninstall:
770
71b9d7ea4885 Fix 'uninstall' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 768
diff changeset
   207
	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
   208
		rm -f $(datadir)/$$f; \
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   209
	done
1142
ce538f6b30b1 Added gaphrase.el to install build target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1075
diff changeset
   210
	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
   211
f622dfd21f2c Move install targets to top.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 632
diff changeset
   212
################################################################
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   213
# Deploy/release targets.
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   214
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
   215
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
   216
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
# 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
   218
#   $ 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
   219
1214
8aecadfc6e8f Docs: installing GraphicsMagick on Cygwin.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1211
diff changeset
   220
#   $ apt-cyg install GraphicsMagick
8aecadfc6e8f Docs: installing GraphicsMagick on Cygwin.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1211
diff changeset
   221
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
   222
# 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
   223
#   $ sftp $(SF_USER),$(pkgname)@web.sourceforge.net
1211
275340c61150 Updated SF ssh key setup instructions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1209
diff changeset
   224
#   $ sftp $(SF_USER),$(pkgname)@frs.sourceforge.net
275340c61150 Updated SF ssh key setup instructions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1209
diff changeset
   225
#   $ 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
   226
# 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
   227
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   228
.PHONY: deploy
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   229
deploy: deploy2defun deploy2sf
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   230
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
   231
.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
   232
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
   233
837
ed8a84d9566f No need to include VOA marked in VOA HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 830
diff changeset
   234
.PHONY: deploy-html
ed8a84d9566f No need to include VOA marked in VOA HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 830
diff changeset
   235
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
   236
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   237
.PHONY: release
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   238
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
   239
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   240
.PHONY: release2defun
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   241
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
   242
505
4ce3ced9057e Fix dependencies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 503
diff changeset
   243
.PHONY: release2sf
4ce3ced9057e Fix dependencies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 503
diff changeset
   244
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
   245
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   246
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   247
DEFUN_USER ?= user
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   248
DEFUN_HG_SRV ?= hg.defun.work
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   249
DEFUN_HG_DIR ?= /srv/hg/gadict
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   250
DEFUN_WWW_SRV ?= defun.work
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   251
DEFUN_WWW_DIR ?= /srv/www/gadict
493
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   252
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
   253
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
   254
.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
   255
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
   256
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   257
.PHONY: deploy2defun
777
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   258
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
   259
558
53fd793e345d Add shortcut to deploy to HG repos.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 557
diff changeset
   260
.PHONY: deploy2defun-hg
53fd793e345d Add shortcut to deploy to HG repos.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 557
diff changeset
   261
deploy2defun-hg:
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   262
	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
   263
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   264
.PHONY: deploy2defun-www
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   265
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
   266
	( \
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   267
echo 'cd $(DEFUN_WWW_DIR)'; \
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   268
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
   269
  n=$${f##*/}; \
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   270
  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
   271
  echo "chmod 644 $$n"; \
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   272
done; \
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   273
echo 'quit'; \
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 313
diff changeset
   274
) | 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
   275
494
f931ef10c1b0 Rename target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 493
diff changeset
   276
.PHONY: deploy2defun-dist
f931ef10c1b0 Rename target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 493
diff changeset
   277
deploy2defun-dist: $(DISTREL_TARBALLS) $(DISTSRC_TARBALLS)
493
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   278
	( \
496
9ddd305404e6 Fix: sftp: Couldn't create directory: Failure
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 494
diff changeset
   279
echo "-mkdir $(DEFUN_REL_DIR)"; \
9ddd305404e6 Fix: sftp: Couldn't create directory: Failure
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 494
diff changeset
   280
echo "-mkdir $(DEFUN_REL_DIR)/v$(vmajor).$(vminor)"; \
493
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   281
echo "cd $(DEFUN_REL_DIR)/v$(vmajor).$(vminor)"; \
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   282
for f in $(DISTREL_TARBALLS) $(DISTSRC_TARBALLS); do \
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   283
  n=$${f##*/}; \
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   284
  echo "put $$f $$n"; \
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   285
  echo "chmod 644 $$n"; \
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   286
done; \
8bfe8d4ad4a4 deploy2defun-distrel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 482
diff changeset
   287
) | 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
   288
777
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   289
.PHONY: deploy2defun-html
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   290
deploy2defun-html: $(DICT_HTML_FILES)
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   291
	( \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   292
echo 'cd $(DEFUN_WWW_DIR)'; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   293
for f in $(DICT_HTML_FILES); do \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   294
  n=$${f##*/}; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   295
  echo "put $$f $$n"; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   296
  echo "chmod 644 $$n"; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   297
done; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   298
echo 'quit'; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   299
) | sftp -b - $(DEFUN_USER)@$(DEFUN_WWW_SRV)
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   300
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
   301
.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
   302
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
   303
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   304
.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
   305
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
   306
558
53fd793e345d Add shortcut to deploy to HG repos.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 557
diff changeset
   307
.PHONY: deploy2sf-hg
53fd793e345d Add shortcut to deploy to HG repos.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 557
diff changeset
   308
deploy2sf-hg:
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   309
	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
   310
119
20f1d1080886 Rename 'name' ==> 'pkgname'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 118
diff changeset
   311
# 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
   312
.PHONY: deploy2sf-www
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   313
deploy2sf-www: $(WWW_HTML_FILES) $(FAVICON)
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   314
	( echo 'cd htdocs'; \
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   315
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
   316
  n=$${f##*/}; \
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   317
  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
   318
  echo "chmod 644 $$n"; \
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   319
done; \
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   320
echo 'quit'; \
120
cb5ab06a72a7 Inline URL to make code more verbose.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 119
diff changeset
   321
) | sftp -b - $(SF_USER),$(pkgname)@web.sourceforge.net
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   322
501
3ebfd12fc276 Enable release to SF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 499
diff changeset
   323
.PHONY: deploy2sf-dist
3ebfd12fc276 Enable release to SF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 499
diff changeset
   324
deploy2sf-dist: $(DISTREL_TARBALLS) $(DISTSRC_TARBALLS)
287
d01045b55e04 Avoid names inlining.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 276
diff changeset
   325
	( 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
   326
echo "put  www/README.rst"; \
115
1c6ffaecdf50 Fix sftp command usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 112
diff changeset
   327
echo "chmod 644 README.rst"; \
496
9ddd305404e6 Fix: sftp: Couldn't create directory: Failure
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 494
diff changeset
   328
echo "-mkdir v$(vmajor).$(vminor)"; \
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   329
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
   330
for f in $(DISTREL_TARBALLS) $(DISTSRC_TARBALLS); do \
503
6a32a94eeab2 Fix dist release to SF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 501
diff changeset
   331
  n=$${f##*/}; \
6a32a94eeab2 Fix dist release to SF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 501
diff changeset
   332
  echo "put $$f $$n"; \
6a32a94eeab2 Fix dist release to SF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 501
diff changeset
   333
  echo "chmod 644 $$n"; \
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   334
done; \
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   335
echo 'quit'; \
120
cb5ab06a72a7 Inline URL to make code more verbose.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 119
diff changeset
   336
) | sftp -b - $(SF_USER),$(pkgname)@frs.sourceforge.net
111
84fe35f49224 Add 'deploy' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 110
diff changeset
   337
779
c2520fea743b Fix typo.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 777
diff changeset
   338
.PHONY: deploy2sf-html
c2520fea743b Fix typo.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 777
diff changeset
   339
deploy2sf-html: $(DICT_HTML_FILES)
777
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   340
	( echo 'cd htdocs'; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   341
for f in $(DICT_HTML_FILES); do \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   342
  n=$${f##*/}; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   343
  echo "put $$f $$n"; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   344
  echo "chmod 644 $$n"; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   345
done; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   346
echo 'quit'; \
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   347
) | sftp -b - $(SF_USER),$(pkgname)@web.sourceforge.net
6c191fc06fce Deploy dictionaries in HTML format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   348
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   349
.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
   350
validate-release:
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   351
	\
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   352
case ${visclean} in \
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   353
  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
   354
    exit 1;; \
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   355
esac
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 $(vatrelease) 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 "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
   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
124
7d9f38580ed9 Add 'deploy-check' target to check source sanity before release.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 123
diff changeset
   361
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   362
################################################################
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
   363
# 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
   364
# 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
   365
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
   366
.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
   367
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
   368
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
.PHONY: deploy2defun-voa
957
793cfb68fb1e Fixed typo.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 956
diff changeset
   370
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
   371
	( \
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
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
   373
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
   374
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
   375
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
   376
) | 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
   377
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
.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
   379
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
   380
	( \
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
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
   382
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
   383
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
   384
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
   385
) | 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
   386
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
################################################################
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   388
# Dist targets.
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   389
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   390
.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
   391
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
   392
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   393
.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
   394
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
   395
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   396
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
   397
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
   398
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
   399
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
   400
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
   401
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
   402
1190
f92cd37ad600 Excluded SRS TAB files from release.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1146
diff changeset
   403
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
   404
	rm -rf $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   405
	tar zcf $@ -C dist/ $(fullpkgname)
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   406
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   407
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
   408
	rm -rf $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   409
	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
   410
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   411
$(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
   412
	cp $< $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   413
545
15e5f62b2f6f Include import files in tab format for SRS to release bundle.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 536
diff changeset
   414
$(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
   415
	cp $< $@
15e5f62b2f6f Include import files in tab format for SRS to release bundle.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 536
diff changeset
   416
666
ef697459f88e Store Anki files in separate directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 665
diff changeset
   417
$(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
   418
	cp $< $@
d7a42a700255 Package Anki files to binary release.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 555
diff changeset
   419
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   420
$(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
   421
	cp $< $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   422
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   423
$(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
   424
	cp $< $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   425
666
ef697459f88e Store Anki files in separate directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 665
diff changeset
   426
$(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
   427
	mkdir -p $@
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   428
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   429
.PHONY: dist-src
105
35cc545ec03d 'clean'-like targets delete artefacts after 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 103
diff changeset
   430
dist-src: $(DISTSRC_TARBALLS)
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   431
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   432
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
   433
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
   434
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
   435
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
   436
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
   437
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
   438
DISTSRC_BUILD_SCRIPTS := $(patsubst %,dist/$(fullpkgname)_src/%, Makefile VERSION)
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   439
1207
e4f601df93b1 Included gaphrase & gadialog files to distsrc target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1203
diff changeset
   440
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
   441
  $(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
   442
	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
   443
	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
   444
1207
e4f601df93b1 Included gaphrase & gadialog files to distsrc target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1203
diff changeset
   445
$(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
   446
	cp $< $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   447
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   448
$(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
   449
	cp $< $@
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   450
478
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   451
$(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
   452
	cp $< $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   453
481
f2b8c358716d Include HTML template to allow full build from distribution tarball.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 480
diff changeset
   454
$(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
   455
	cp $< $@
f2b8c358716d Include HTML template to allow full build from distribution tarball.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 480
diff changeset
   456
480
4413ccc9e216 Include VERSION file into source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 479
diff changeset
   457
$(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
   458
	cp $< $@
740943860879 Add new target for binary distribution and update target for source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 441
diff changeset
   459
481
f2b8c358716d Include HTML template to allow full build from distribution tarball.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 480
diff changeset
   460
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
   461
	mkdir -p $@
103
b5b1dc62bdc0 Add 'dist' targets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 94
diff changeset
   462
54
12426df26196 Add headlines docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 50
diff changeset
   463
################################################################
643
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   464
# Word frequency statistic.
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   465
664
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   466
define FREQ_MACRO
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   467
$(1)_OPT += -freq:$(2):$(3)=$(4)
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   468
$(1)_DEP += $(4)
651
08417d7454ec Add VOA to frequency list. Fix dependency on freq list.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 646
diff changeset
   469
endef
08417d7454ec Add VOA to frequency list. Fix dependency on freq list.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 646
diff changeset
   470
664
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   471
# For gadict_voa.
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   472
$(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
   473
$(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
   474
$(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
   475
$(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
   476
$(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
   477
$(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
   478
664
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   479
# For other dictionaries.
77df10cfe3ba Add freq list markers to VOA Anki deck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 660
diff changeset
   480
$(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
   481
$(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
   482
$(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
   483
$(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
   484
$(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
   485
$(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
   486
$(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
   487
$(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
   488
$(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
   489
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   490
# 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
   491
# FREQ_DEP += $(BNC_COCA_BASEWORD)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   492
# FREQ_FILTER += $(patsubst %,-b:%,$(BNC_COCA_BASEWORD))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   493
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   494
GSL_BASEWORD := $(wildcard wordlist/gsl_1000_*.var)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   495
# FREQ_DEP += $(GSL_BASEWORD)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   496
# FREQ_FILTER += $(patsubst %,-b:%,$(GSL_BASEWORD))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   497
FREQ_DEP += dist/wordlist/gsl.var
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   498
FREQ_FILTER += -b:dist/wordlist/gsl.var
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   499
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   500
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
   501
# FREQ_DEP += $(NGSL_BASEWORD)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   502
# FREQ_FILTER += $(patsubst %,-b:%,$(NGSL_BASEWORD))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   503
FREQ_DEP += dist/wordlist/ngsl.var
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   504
FREQ_FILTER += -b:dist/wordlist/ngsl.var
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   505
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   506
# 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
   507
# FREQ_FILTER += $(patsubst %,-f:%,$(FAMOUS_FREQLIST))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   508
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   509
AWL_BASEWORD := wordlist/awl.var
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   510
FREQ_DEP += $(AWL_BASEWORD)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   511
FREQ_FILTER += $(patsubst %,-b:%,$(AWL_BASEWORD))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   512
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   513
NAWL_BASEWORD := wordlist/nawl.var
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   514
FREQ_DEP += $(NAWL_BASEWORD)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   515
FREQ_FILTER += $(patsubst %,-b:%,$(NAWL_BASEWORD))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   516
1075
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   517
KET_BASEWORD := wordlist/ket.var
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   518
FREQ_DEP += $(KET_BASEWORD)
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   519
FREQ_FILTER += $(patsubst %,-b:%,$(KET_BASEWORD))
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   520
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   521
PET_BASEWORD := wordlist/pet.var
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   522
FREQ_DEP += $(PET_BASEWORD)
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   523
FREQ_FILTER += $(patsubst %,-b:%,$(PET_BASEWORD))
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   524
643
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   525
VOA_BASEWORD := dist/wordlist/voa.list
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   526
FREQ_DEP += $(VOA_BASEWORD)
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   527
FREQ_FILTER += $(patsubst %,-b:%,$(VOA_BASEWORD))
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   528
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   529
FREQ_FILTER += -12000f:wordlist/oanc.freq
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   530
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   531
.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
   532
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
   533
	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
   534
53095b480a73 Treat first argument in format like the rest arguments. Targets to print
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
   535
.PHONY: missing
724
98fd211d27db Target to show combined statistics about missing words.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 723
diff changeset
   536
missing: missing-words missing-stat
98fd211d27db Target to show combined statistics about missing words.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 723
diff changeset
   537
98fd211d27db Target to show combined statistics about missing words.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 723
diff changeset
   538
.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
   539
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
   540
	@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
   541
	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
   542
	@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
   543
	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
   544
	@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
   545
	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
   546
	@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
   547
	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
   548
	@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
   549
	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
   550
	@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
   551
	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
   552
	@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
   553
	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
   554
	@echo ===== KET =====
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   555
	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
   556
	@echo ===== PET =====
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   557
	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
   558
1008
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   559
.PHONY: missing-speakout
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   560
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
   561
	@echo ===== so1 =====
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   562
	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
   563
	@echo ===== so2 =====
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   564
	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
   565
	@echo ===== so3 =====
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   566
	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
   567
	@echo ===== so4 =====
dc218f2b784d Ported build of Anki apkg to Python 3.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 957
diff changeset
   568
	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
   569
829
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   570
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
   571
{ \
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   572
stat() { \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   573
  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
   574
  total=`grep -v '^[ 	]' $$3 | wc -l`; \
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   575
  cover=$$((total - lack)); \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   576
  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
   577
}; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   578
echo "   ==== ===== ===== ===="; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   579
echo "   List Cover Total Lack"; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   580
echo "   ==== ===== ===== ===="; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   581
stat VOA +b dist/wordlist/voa.list; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   582
stat GSL +f wordlist/gsl.freq; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   583
stat AWL +f wordlist/awl.freq; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   584
stat NGSL +f wordlist/ngsl.freq; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   585
stat NAWL +f wordlist/nawl.freq; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   586
stat BSL +b wordlist/bsl.var; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   587
stat TSL +b wordlist/tsl.var; \
1075
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   588
stat KET +b wordlist/ket.var; \
a8fad275310b Added official KET/PET wordlists of 2012.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1008
diff changeset
   589
stat PET +b wordlist/pet.var; \
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   590
echo "   ==== ===== ===== ===="; \
829
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   591
}
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   592
endef
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   593
f5c7e513cbff Removed trick with pattern-specific variables because build fail in some situations.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 801
diff changeset
   594
.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
   595
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
   596
	@${stat-cmd}
643
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   597
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   598
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
   599
	python3 -B py/gadict_headwords.py  $< $@
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   600
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   601
dist/wordlist/gsl.var: $(GSL_BASEWORD) | dist/wordlist/
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   602
	cat $(GSL_BASEWORD) >$@
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   603
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   604
dist/wordlist/ngsl.var: $(NGSL_BASEWORD) | dist/wordlist/
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   605
	cat $(NGSL_BASEWORD) >$@
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   606
651
08417d7454ec Add VOA to frequency list. Fix dependency on freq list.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 646
diff changeset
   607
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
   608
	python3 -B py/gadict_headwords.py gadict_voa.gadict >$@
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   609
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   610
dist/wordlist/:
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   611
	mkdir -p $@
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   612
c2c32f45dde6 Search rare words in gadict.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 633
diff changeset
   613
################################################################
54
12426df26196 Add headlines docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 50
diff changeset
   614
# Build targets.
0
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   615
23
946ae4b96419 Phony targets marked.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
   616
.PHONY: all
245
5b9fac360762 Rename target to avoid disambiguate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 241
diff changeset
   617
all: dict
0
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   618
431
4ec7d0ea1602 Fix: ".name" and ".url" intermediate files for dictd automatically removed by GNU make.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 429
diff changeset
   619
.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
   620
dictd c5: dict
245
5b9fac360762 Rename target to avoid disambiguate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 241
diff changeset
   621
dict: $(DICTDZ_FILES) $(INDEX_FILES)
0
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   622
592
f45410f1f80e Move dictfmt options to variable.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 589
diff changeset
   623
DICTFMT := dictfmt
41
8f1dc5d77f3d Switch dictionary to dictd -c5 format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
   624
#  --case-sensitive
593
32de94c1b039 Disable word wrapping for dictd dictionary.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 592
diff changeset
   625
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
   626
404
cdfa6dfa9072 Integrate dictionary metainfo line name and home page url into dictd build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 401
diff changeset
   627
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
   628
	(cd dist/dictd; $(DICTFMT) $(DICTFMT_OPT)  -c5  -s "`cat $*.c5.name`" -u "`cat $*.c5.url`"  $*)  < $<
0
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   629
387
1616fc7c1f09 Start using "gadict.py".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 384
diff changeset
   630
dist/dictd/%.dict.dz: dist/dictd/%.dict
41
8f1dc5d77f3d Switch dictionary to dictd -c5 format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 28
diff changeset
   631
	dictzip -c $< >$@
1
b23e948de24a Make article for all verbs form.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 0
diff changeset
   632
624
934a2a6cbe27 Add dictionaries logo. Goldendict supports PNG format and by default display
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 614
diff changeset
   633
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
   634
	gm convert $< $@
624
934a2a6cbe27 Add dictionaries logo. Goldendict supports PNG format and by default display
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 614
diff changeset
   635
431
4ec7d0ea1602 Fix: ".name" and ".url" intermediate files for dictd automatically removed by GNU make.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 429
diff changeset
   636
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
   637
.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
   638
.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
   639
cdfa6dfa9072 Integrate dictionary metainfo line name and home page url into dictd build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 401
diff changeset
   640
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
   641
	:
cdfa6dfa9072 Integrate dictionary metainfo line name and home page url into dictd build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 401
diff changeset
   642
396
4f16fb80b2a7 Suppress __pycache__ dir.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 393
diff changeset
   643
# -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
   644
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
   645
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
   646
	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
   647
	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
   648
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
   649
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
   650
	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
   651
	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
   652
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
   653
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
   654
	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
   655
	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
   656
646
2d488cfc4c0c Add frequency markers to dictd dictionary and Anki cards.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 644
diff changeset
   657
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
   658
	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
   659
646
2d488cfc4c0c Add frequency markers to dictd dictionary and Anki cards.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 644
diff changeset
   660
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
   661
	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
   662
424
98c8f14fc972 Fix "stat" target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 410
diff changeset
   663
dist/dictd/:
387
1616fc7c1f09 Start using "gadict.py".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 384
diff changeset
   664
	mkdir -p $@
1616fc7c1f09 Start using "gadict.py".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 384
diff changeset
   665
536
c9f0064d8661 Generate import file for space repetition software in TAB format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 505
diff changeset
   666
.PHONY: srs
555
4a3188fc8951 Generating Packaged Anki Desk files for Anki space repetition software.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 547
diff changeset
   667
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
   668
564
93d0bdb815a1 Separate target to build anki files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 558
diff changeset
   669
.PHONY: anki
93d0bdb815a1 Separate target to build anki files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 558
diff changeset
   670
anki: $(SRS_ANKI_FILES)
93d0bdb815a1 Separate target to build anki files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 558
diff changeset
   671
775
6aa817943828 Makefile warn about duplicate implicit rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 774
diff changeset
   672
GADICT_DEL_FILE := $(wildcard gadict.del)
6aa817943828 Makefile warn about duplicate implicit rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 774
diff changeset
   673
GADICT_DEL_OPT :=
6aa817943828 Makefile warn about duplicate implicit rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 774
diff changeset
   674
ifneq '' '$(GADICT_DEL_FILE)'
6aa817943828 Makefile warn about duplicate implicit rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 774
diff changeset
   675
  GADICT_DEL_OPT := -delfile=$(GADICT_DEL_FILE)
6aa817943828 Makefile warn about duplicate implicit rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 774
diff changeset
   676
endif
6aa817943828 Makefile warn about duplicate implicit rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 774
diff changeset
   677
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
   678
# 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
   679
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
   680
	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
   681
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
   682
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
   683
	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
   684
1201
fbbb13f2e0ec Fixed dependency of py file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1191
diff changeset
   685
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
   686
	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
   687
1203
c767b62ec786 Added support for gaphrase format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1202
diff changeset
   688
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
   689
	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
   690
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
   691
# General rules.
666
ef697459f88e Store Anki files in separate directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 665
diff changeset
   692
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
   693
	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
   694
666
ef697459f88e Store Anki files in separate directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 665
diff changeset
   695
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
   696
	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
   697
772
ea173f7395a0 Separate target to generate SRS tab-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 771
diff changeset
   698
.PHONY: tab
ea173f7395a0 Separate target to generate SRS tab-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 771
diff changeset
   699
tab: $(SRS_TAB_FILES)
ea173f7395a0 Separate target to generate SRS tab-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 771
diff changeset
   700
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
   701
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
   702
	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
   703
587
caf484e75e19 Generalise rule for building .tab.txt files. This helps build off project files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 564
diff changeset
   704
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
   705
	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
   706
666
ef697459f88e Store Anki files in separate directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 665
diff changeset
   707
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
   708
	mkdir -p $@
c9f0064d8661 Generate import file for space repetition software in TAB format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 505
diff changeset
   709
776
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   710
.PHONY: html
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   711
html: $(DICT_HTML_FILES)
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   712
837
ed8a84d9566f No need to include VOA marked in VOA HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 830
diff changeset
   713
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
   714
	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
   715
776
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   716
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
   717
	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
   718
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   719
dist/html/:
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   720
	mkdir -p $@
d57c28843156 Generate HTML form of dictionary for online presents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 775
diff changeset
   721
54
12426df26196 Add headlines docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 50
diff changeset
   722
################################################################
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   723
# Documentation targets.
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   724
768
bd3278653eaa 'html' target will be used for other purpose.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 754
diff changeset
   725
.PHONY: docs web
bd3278653eaa 'html' target will be used for other purpose.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 754
diff changeset
   726
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
   727
768
bd3278653eaa 'html' target will be used for other purpose.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 754
diff changeset
   728
.PHONY: www
774
7e8a7ec72bb4 Avoid 'HTML_FILES' generic name usage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 773
diff changeset
   729
www: $(WWW_HTML_FILES)
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   730
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   731
$(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
   732
	cp $< $@
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   733
424
98c8f14fc972 Fix "stat" target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 410
diff changeset
   734
$(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
   735
	$(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
   736
424
98c8f14fc972 Fix "stat" target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 410
diff changeset
   737
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
   738
	mkdir -p $@
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   739
789
1a78ecda2555 Add dependency on version information for www files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 779
diff changeset
   740
$(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
   741
	\
482
fefea56726d2 Warn if build done without version file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 481
diff changeset
   742
[[ "${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
   743
[[ -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
   744
[[ "${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
   745
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
   746
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   747
################################################################
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   748
# Article statistics.
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   749
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   750
.PHONY: stat
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   751
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
   752
547
f571a9e4e70c Fix: directory without trailing "/" is not created.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 545
diff changeset
   753
$(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
   754
	$(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
   755
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   756
$(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
   757
	{ \
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   758
echo '==========================='; \
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   759
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
   760
echo '==========================='; \
429
e721e428b909 Translations count.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 428
diff changeset
   761
echo; \
428
8598efaef822 Align STAT table columns to the right.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 427
diff changeset
   762
echo '.. class:: right'; \
8598efaef822 Align STAT table columns to the right.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 427
diff changeset
   763
echo; \
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   764
echo '==================== ======== ======== ========'; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   765
echo '   Dictionary        Articles Meanings Examples'; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   766
echo '==================== ======== ======== ========'; \
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   767
total=0; \
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   768
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
   769
  awk '\
13b9335eae0d Add number of meanings and examples statistic. Remove ru/uk statistic because
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 674
diff changeset
   770
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
   771
/^__$$/{ art += 1 };\
13b9335eae0d Add number of meanings and examples statistic. Remove ru/uk statistic because
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 674
diff changeset
   772
/^(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
   773
/^(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
   774
"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
   775
  <$$dic; \
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   776
done; \
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   777
echo '==================== ======== ======== ========'; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   778
echo; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   779
echo '.. table:: ``gadict`` coverage of famous word lists'; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   780
echo '   :class: right'; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   781
echo; \
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   782
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
   783
} >$@
276
66db1bbebe45 Generalise RST build code. Remove index.rst, use README.rst instead.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   784
844
e8e98ed4e381 Fix dependencies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 837
diff changeset
   785
$(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
   786
	@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
   787
	@${stat-cmd} >$(STAT_MISSING_FILE)
794
b6b7f7a3b4dc Include statistic on wordlist coverage.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   788
424
98c8f14fc972 Fix "stat" target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 410
diff changeset
   789
dist/misc/:
98c8f14fc972 Fix "stat" target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 410
diff changeset
   790
	mkdir -p $@
98c8f14fc972 Fix "stat" target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 410
diff changeset
   791
66
be91c79007e9 Add 'html' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 63
diff changeset
   792
################################################################
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   793
# Misc targets.
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   794
684
6ba6249fb194 Create new project logo. Add favicon to project sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
   795
.PHONY: favicon
6ba6249fb194 Create new project logo. Add favicon to project sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
   796
favicon: $(FAVICON)
6ba6249fb194 Create new project logo. Add favicon to project sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
   797
6ba6249fb194 Create new project logo. Add favicon to project sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
   798
$(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
   799
	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
   800
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   801
.PHONY: logo
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   802
logo: logo-png
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   803
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   804
.PHONY: logo-png
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   805
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
   806
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   807
# Require:
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   808
#   $ 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
   809
$(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
   810
	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
   811
308
7a5f4265a581 Build and deploy VOA in PDF format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 287
diff changeset
   812
.PHONY: voa
614
594fd4168b66 Fix: do not mess up project root with LaTeX related files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 608
diff changeset
   813
voa: dist/pdf/voa-special.pdf
308
7a5f4265a581 Build and deploy VOA in PDF format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 287
diff changeset
   814
614
594fd4168b66 Fix: do not mess up project root with LaTeX related files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 608
diff changeset
   815
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
   816
	$(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
   817
594fd4168b66 Fix: do not mess up project root with LaTeX related files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 608
diff changeset
   818
dist/pdf/:
594fd4168b66 Fix: do not mess up project root with LaTeX related files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 608
diff changeset
   819
	mkdir -p $@
308
7a5f4265a581 Build and deploy VOA in PDF format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 287
diff changeset
   820
275
9f70f66ee2a1 Merge with 'ffead' project. Most significant is generating different sizes PNG
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
   821
################################################################
108
1f1363141da7 Dump version info with 'version' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 107
diff changeset
   822
# Helpers targets.
1f1363141da7 Dump version info with 'version' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 107
diff changeset
   823
1f1363141da7 Dump version info with 'version' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 107
diff changeset
   824
.PHONY: help
1f1363141da7 Dump version info with 'version' target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 107
diff changeset
   825
help:
122
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   826
	@\
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   827
echo; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   828
echo Current configuration:; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   829
echo; \
480
4413ccc9e216 Include VERSION file into source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 479
diff changeset
   830
sed 's=^=  =' <$(VER_FILE)
122
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   831
	@if [ -f Makefile.config ]; then \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   832
		echo; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   833
		echo User configuration:; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   834
		echo; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   835
		sed 's=^=  =' <Makefile.config; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   836
	fi
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   837
	@\
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   838
echo; \
003356f9e504 Gather all available version info.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 121
diff changeset
   839
echo Supported targets:; \
123
49f373dba523 Fix output sanity.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 122
diff changeset
   840
echo; \
150
28cd06b06bb8 Rename BUILD_SCRIPT ==> BUILD_SCRIPTS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 148
diff changeset
   841
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
   842
249
5ad075a475f2 TODO convention.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 245
diff changeset
   843
.PHONY: todo
5ad075a475f2 TODO convention.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 245
diff changeset
   844
todo:
5ad075a475f2 TODO convention.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 245
diff changeset
   845
	grep -nH 'TODO\|XXX' $(RST_FILES) $(C5_FILES)
5ad075a475f2 TODO convention.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 245
diff changeset
   846
660
5305f170237d Add spell checker based on hunspell.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 655
diff changeset
   847
# Install:
5305f170237d Add spell checker based on hunspell.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 655
diff changeset
   848
#   $ 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
   849
.PHONY: check
5305f170237d Add spell checker based on hunspell.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 655
diff changeset
   850
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
   851
	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
   852
94
1b2cf5b2b46c Add target that print statistics about word count.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 85
diff changeset
   853
################################################################
54
12426df26196 Add headlines docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 50
diff changeset
   854
# Clean targets.
12426df26196 Add headlines docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 50
diff changeset
   855
23
946ae4b96419 Phony targets marked.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
   856
.PHONY: distclean
946ae4b96419 Phony targets marked.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
   857
distclean: clean
480
4413ccc9e216 Include VERSION file into source distribution.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 479
diff changeset
   858
	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
   859
23
946ae4b96419 Phony targets marked.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
   860
.PHONY: clean
0
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   861
clean:
339
4d8d46bbe30d Move RST files to separate directory. Build HTML files out of sources
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 338
diff changeset
   862
	rm -rf dist/
63
f1bd82604661 Add help target.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 56
diff changeset
   863