Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
user:zeman:mdmake [2010/11/05 15:47] zeman |
user:zeman:mdmake [2023/04/21 16:09] zeman [Makefile] |
||
---|---|---|---|
Line 16: | Line 16: | ||
* The respective variables with values of the respective dimensions must be normal variables containing only a list of words separated by spaces. MD-make will not search them for references to other variables or macros. If it encounters a dollar sign in these variables, it will throw an exception and terminate. These variables will be visible in the generated makefile as well. | * The respective variables with values of the respective dimensions must be normal variables containing only a list of words separated by spaces. MD-make will not search them for references to other variables or macros. If it encounters a dollar sign in these variables, it will throw an exception and terminate. These variables will be visible in the generated makefile as well. | ||
* No value in no dimension can be identical with any other value of any dimension. In other words, a value uniquely identifies its dimension. (This helps prevent ambiguities in file names that do not contain all dimensions.) | * No value in no dimension can be identical with any other value of any dimension. In other words, a value uniquely identifies its dimension. (This helps prevent ambiguities in file names that do not contain all dimensions.) | ||
- | * There are special keywords to mark a multidimensional pattern rule. The following parameters can be supplied, too: | + | * There are special keywords to mark a multidimensional |
- | * In what dimensions the target file exists. (The other dimensions will not appear in the file name.) | + | * '' |
+ | |||
+ | < | ||
+ | .md.rul mst.conll < blind.conll mst</ | ||
+ | |||
+ | * The following parameters can be supplied, too: | ||
+ | * The '' | ||
* What are the constraints for the values in the respective dimensions. (Standard way is the '' | * What are the constraints for the values in the respective dimensions. (Standard way is the '' | ||
* MD-make will generate many normal rules from the multidimensional rule. In these generated rules, all combinations of all values in all affected dimensions will appear. As these rules are not templatic any more, we don't have to fear that gnu make will encounter cyclic dependencies or other problems. | * MD-make will generate many normal rules from the multidimensional rule. In these generated rules, all combinations of all values in all affected dimensions will appear. As these rules are not templatic any more, we don't have to fear that gnu make will encounter cyclic dependencies or other problems. | ||
Line 30: | Line 36: | ||
* '' | * '' | ||
* If a command in a rule refers a dimension (e.g. '' | * If a command in a rule refers a dimension (e.g. '' | ||
- | |||
< | < | ||
Line 40: | Line 45: | ||
$(TOOLDIR)/ | $(TOOLDIR)/ | ||
- | * Je možné definovat vstupní soubory. Ty typicky leží úplně v& | + | * It is possible to define input files. These are typically in a completely different folder or they names are different so that they are not confused with the files named according to dimension values and they are not in danger of being removed by make. We can describe their properties in various dimensions if we create a normal rule where the input file is a dependency (source) and the goal is a file named by dimension values. We write '' |
- | * Vygenerovaný | + | * The generated |
- | * V& | + | * Collect names of all generated target files during generating of the multidimensional rules. Create a hash for every target file where the key is the value in a dimension and the value under that key is non-zero if the value of the dimension is contained in the name of the file. At the end of the makefile there can be a rule '' |
< | < | ||
- | se přepíše jako | + | would be rewritten as |
< | < | ||
- | all_d_hi_conll: | + | all_d_hi_conll: |
+ | |||
+ | ===== Download ===== | ||
+ | |||
+ | Copyright © 2009 Daniel Zeman | ||
+ | |||
+ | All software supplied with this package is released under the GNU | ||
+ | General Public License. | ||
+ | redistribute it and/or modify it under the terms of the GNU General | ||
+ | Public License as published by the Free Software Foundation; either | ||
+ | version 2, or (at your option) any later version. | ||
+ | |||
+ | This program is distributed in the hope that it will be useful, | ||
+ | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
+ | GNU General Public License (below or at http:// | ||
+ | gpl.html) for more details. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Acknowledgements ===== | ||
+ | |||
+ | This research has been supported by the grant of the Czech Ministry of Education no. MSM0021620838. |