OLD | NEW |
1 @c -*- coding: utf-8; mode: texinfo; -*- | 1 @c -*- coding: utf-8; mode: texinfo; -*- |
2 | 2 |
3 | 3 |
4 @node Build system notes | 4 @node Build system notes |
5 @chapter Build system notes | 5 @chapter Build system notes |
6 | 6 |
7 @warning{This chapter is in high flux, and is being run in a | 7 @warning{This chapter is in high flux, and is being run in a |
8 @qq{wiki-like} fashion. Do not trust anything you read in this | 8 @qq{wiki-like} fashion. Do not trust anything you read in this |
9 chapter.} | 9 chapter.} |
10 | 10 |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 immediately runs) @file{stepmake.make} from the @file{make} | 126 immediately runs) @file{stepmake.make} from the @file{make} |
127 subdirectory. This sets a load of other variables, and | 127 subdirectory. This sets a load of other variables, and |
128 then runs @file{make/config.make} - which doesn't seem to exist... | 128 then runs @file{make/config.make} - which doesn't seem to exist... |
129 Next, it runs @file{make/toplevel-version.make}, which sets the | 129 Next, it runs @file{make/toplevel-version.make}, which sets the |
130 version variables for major, minor, patch, stable, development and | 130 version variables for major, minor, patch, stable, development and |
131 mypatchlevel (which seems to be used for patch numbers for | 131 mypatchlevel (which seems to be used for patch numbers for |
132 non-stable versions only?). | 132 non-stable versions only?). |
133 | 133 |
134 Next - @file{make/local.make}, which doesn't exist. | 134 Next - @file{make/local.make}, which doesn't exist. |
135 | 135 |
136 Then a few more variable and the interesting comment: | |
137 | |
138 @example | |
139 # Don't try to outsmart us, you puny computer! | |
140 # Well, UGH. This only removes builtin rules from | |
141 @end example | |
142 | |
143 and then tests to see whether BUILTINS_REMOVED is defined. It | |
144 appears to be when I run make, and so | |
145 @file{stepmake/stepmake/no-builtin-rules.make} is run. The | |
146 comment at the head of this file says: | |
147 | |
148 @example | |
149 # UGH. GNU make comes with implicit rules. | |
150 # We don't want any of them, and can't force users to run | |
151 # --no-builtin-rules | |
152 @end example | |
153 | |
154 I've not studied that file at length, but assume it removes all | |
155 make's build-in rules (e.g. @file{*.c} files are run through the | |
156 GNU C compiler) - there's a lot of them in here, and a lot of | |
157 comments, and I'd guess most of it isn't needed. | |
158 | |
159 We return to @file{stepmake.make}, where we hit the make rule all: | 136 We return to @file{stepmake.make}, where we hit the make rule all: |
160 The first line of this is: | 137 The first line of this is: |
161 | 138 |
162 @smallexample | 139 @smallexample |
163 -include $(addprefix $(depth)/make/,$(addsuffix -inclusions.make, $(LOCALSTEPMAK
E_TEMPLATES))) | 140 -include $(addprefix $(depth)/make/,$(addsuffix -inclusions.make, $(LOCALSTEPMAK
E_TEMPLATES))) |
164 @end smallexample | 141 @end smallexample |
165 | 142 |
166 which, when the variables are substituted, gives: | 143 which, when the variables are substituted, gives: |
167 | 144 |
168 @example | 145 @example |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
402 $(MAKE) out=www WWW-1 | 379 $(MAKE) out=www WWW-1 |
403 WWW-1: local-WWW-1 | 380 WWW-1: local-WWW-1 |
404 $(LOOP) | 381 $(LOOP) |
405 $(MAKE) out=www WWW-2 | 382 $(MAKE) out=www WWW-2 |
406 WWW-2: local-WWW-2 | 383 WWW-2: local-WWW-2 |
407 $(LOOP) | 384 $(LOOP) |
408 $(MAKE) out=www WWW-post | 385 $(MAKE) out=www WWW-post |
409 @end example | 386 @end example |
410 | 387 |
411 @example | 388 @example |
412 MAKE = make --no-builtin-rules | 389 MAKE = make |
413 -C = Change to directory before make | 390 -C = Change to directory before make |
414 @end example | 391 @end example |
415 | 392 |
416 doc-stage-1 does lots of opening and looking in files, but no | 393 doc-stage-1 does lots of opening and looking in files, but no |
417 processing. | 394 processing. |
418 | 395 |
419 @example | 396 @example |
420 Variable LOOP = | 397 Variable LOOP = |
421 | 398 |
422 + make PACKAGE=LILYPOND package=lilypond -C python | 399 + make PACKAGE=LILYPOND package=lilypond -C python |
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
975 website: | 952 website: |
976 $(MAKE) config_make=$(config_make) \ | 953 $(MAKE) config_make=$(config_make) \ |
977 top-src-dir=$(top-src-dir) \ | 954 top-src-dir=$(top-src-dir) \ |
978 -f $(top-src-dir)/make/website.make \ | 955 -f $(top-src-dir)/make/website.make \ |
979 website | 956 website |
980 @end example | 957 @end example |
981 | 958 |
982 This translates as: | 959 This translates as: |
983 | 960 |
984 @example | 961 @example |
985 make --no-builtin-rules config_make=./config.make \ | 962 make config_make=./config.make \ |
986 top-src-dir=/home/phil/lilypond-git \ | 963 top-src-dir=/home/phil/lilypond-git \ |
987 -f /home/phil/lilypond-git/make/website.make \ | 964 -f /home/phil/lilypond-git/make/website.make \ |
988 website | 965 website |
989 @end example | 966 @end example |
990 | 967 |
991 which has the effect of setting the variables @code{config_make} | 968 which has the effect of setting the variables @code{config_make} |
992 and @code{top-src-dir} and then processing the file | 969 and @code{top-src-dir} and then processing the file |
993 @code{git/make/website.make} with the target of website. | 970 @code{git/make/website.make} with the target of website. |
994 | 971 |
995 @code{website.make} starts with the following: | 972 @code{website.make} starts with the following: |
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1433 website-css: | 1410 website-css: |
1434 copies css files | 1411 copies css files |
1435 website-pictures: | 1412 website-pictures: |
1436 copies pictures | 1413 copies pictures |
1437 website-examples: | 1414 website-examples: |
1438 copies examples | 1415 copies examples |
1439 web-post: | 1416 web-post: |
1440 runs website_post.py | 1417 runs website_post.py |
1441 Then some file copying | 1418 Then some file copying |
1442 @end example | 1419 @end example |
OLD | NEW |