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 $@ |
</ | </ | ||