meta data for this page
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| programming:makefile [2024/03/22 09:30] – niziak | programming:makefile [2025/04/16 13:31] (current) – niziak | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| Quick reference [[https:// | Quick reference [[https:// | ||
| - | [[http:// | + | Recursive Make Considered Harmful: |
| - | + | * [[http:// | |
| - | [[http:// | + | * [[https:// |
| + | * [[https:// | ||
| + | | ||
| === one shell === | === one shell === | ||
| + | NOTE: read carefully issues introduced with "one shell": | ||
| [[https:// | [[https:// | ||
| + | |||
| <code make> | <code make> | ||
| .ONESHELL: | .ONESHELL: | ||
| Line 16: | Line 20: | ||
| cd $(<D) | cd $(<D) | ||
| gobble $(<F) > ../$@ | gobble $(<F) > ../$@ | ||
| + | </ | ||
| + | |||
| + | alternatives w/o '' | ||
| + | |||
| + | <code make> | ||
| + | target: | ||
| + | $(Q)( \ | ||
| + | set -eo pipefail ; \ | ||
| + | if [ -x "/ | ||
| + | echo " | ||
| + | exit 0; \ | ||
| + | fi; \ | ||
| + | \ | ||
| + | wget -c -P /tmp --post-data " | ||
| + | " | ||
| + | \ | ||
| + | $(SUDO) apt-get update; \ | ||
| + | $(SUDO) apt-get -y --fix-broken install "/ | ||
| + | \ | ||
| + | rm "/ | ||
| + | make .jlink-workaround; | ||
| + | make jlink-notice; | ||
| + | ) | ||
| + | |||
| </ | </ | ||
| Line 37: | Line 65: | ||
| Special pipe " | Special pipe " | ||
| - | If any //$(objects)// has to be build, then //obj// has to be build first. | + | If any '' |
| - | But if //obj// is out of date or missing, this doesn' | + | But if '' |
| Line 45: | Line 73: | ||
| obj: | obj: | ||
| - | @mkdir -p $@'' | + | @mkdir -p $@ |
| </ | </ | ||