SuccessChanges

Summary

  1. Makefile: drop unused SUPPORTED_MODELS / SUPPORTED_UNIFIED_MODELS
  2. Merged in makefile-updates (pull request #873) Makefile updates to use any valid ARM toolchain
  3. Makefile: fix 7D build_fir
  4. Makefile: fix building Lua with gcc 4.7.3
  5. Makefile: only attempt to build/install/check ML-SETUP.FIR if there is a valid installer directory (some platforms may not have have one - 7D_MASTER, new ports)
  6. Card LED: always use CARD_LED_ADDRESS, LEDON and LEDOFF (backed out 5bfab05 to fix installer on 7D - 0x800c00 not mandatory?)
  7. Makefile: moved 7D-specific tweaks (FIR etc) into main target (7D.203) for consistency with other platforms, including 7D2 to build the regular FIR: make build_fir to build the installer FIR: make ML-SETUP.FIR -B
  8. Makefile: FIR building updates - always install ML-SETUP.FIR (zip, install, install_qemu) - build_fir for regular ML (not installer) now gives AUTOEXEC.FIR - to recompile ML-SETUP.FIR: "make ML-SETUP.FIR -B" from platform directory - "make zip" will also compile the installer from source, without replacing the precompiled ML-SETUP.FIR (just to make sure the source code changes do not interfere with building the installer)
  9. Makefile: fix building xor_chk from its own directory
  10. Makefile: more .NOTPARALLEL fixes
  11. Makefile: fix 7D FIR path (just for consistency)
  12. Makefile: use .NOTPARALLEL in top-level Makefiles, rather than double-colon rules ML platforms/modules are built sequentially, but within each platform/module, parallel build is used to be tested on Mac with -j8 (on Make 3.81, double-colon are executed in parallel, while in 4.2.1 they are sequential)
  13. Makefile: fix README.rst generation with POSIX shells to reproduce: cd modules/filepref; make clean; rm -f README.rst; make SHELL=dash
  14. Makefile: serialize "make install", fix some related dependencies parallel copying could lock up WIFI_SD cards to reproduce: "WIFI_SD=y make install ML_MODULES=" from platform/CAM directory
  15. Makefile: monitor wifi connection when using WIFI_SD=y (experimental, helps troubleshooting connectivity issues)
  16. Makefile: minor refactors for WIFI_SD (coding style) also fixed a typo
  17. Modules: better error handling for missing rst2html http://www.magiclantern.fm/forum/index.php?topic=17099
  18. Makefile: speed optimizations - helper to evaluate only once, only if used - modules hgstamp: only evaluate if used - CF_CARD, VERSION: only evaluate once if used - PWD is special? renamed to avoid unneeded shell calls Profiling tips: - perf record make; perf report --sort comm - make SHELL="sh -x" - make clean SHELL="sh -x" |& grep "^+" | sort | uniq -c
  19. Makefile: enable parallel compilation for modules, but compile them sequentially huge modules like Lua will compile much faster compiling everything in parallel is not 100% safe (some dependency checks may fail)
  20. Makefile: do not print toolchain info on recursive calls
  21. Makefile: reworked global targets install: doesn't make sense, as we no longer have a "one size fits all" build capable of running on all models (alternative: 5D3.113_install, 60D_install etc) zip: build zip for each camera model, sequentially (parallel build still used within each zip) all: similar to zip (build camera models sequentially, but use parallel compilation within each platform) clean, check: these can run in parallel (no restrictions)
  22. Makefile: fix module dependency checking on "make zip" by default, a module succeeds if it can be loaded on any camera model, from those compiled (doesn't matter which one) when using "make zip", we only want to include the modules compatible with current camera model, without considering other models (fixme: not the cleanest way to implement this)
  23. Makefile: fix module_strings dependency rule (previously, there was an error with make -j)
  24. Makefile: dropped ML_MODULES_STATIC (unused) and renamed ML_MODULES_DYNAMIC to ML_MODULES note: if you have customized the module list in Makefile.modules.user, just rename ML_MODULES_DYNAMIC to ML_MODULES to compile without modules: make 5D3 ML_MODULES=
  25. Makefile: fix "make clean" from modules directory with stale modules from other branches https://bitbucket.org/hudson/magic-lantern/pull-requests/873/makefile-updates-to-use-any-valid-arm/diff#comment-48250675
  26. Makefile: fix running from other directory e.g. from qemu: make -C ../magic-lantern/ 500D_install_qemu
  27. Makefile: model-specific install targets for the root directory examples: make 500D_install; make 500D_install_qemu
  28. 7D: fix compiling with FEATURE_VIDEO_HACKS
  29. Makefile: fix building 7D_MASTER
  30. Makefile: minor cleanups from 0b9b550
  31. Makefile: always define CONFIG_$(MODEL)_$(FW_VERSION) e.g. CONFIG_5D3_113, CONIFG_7D_203 and so on
  32. Makefile: fix for GNU make 3.8.1 (thanks g3gg0)
  33. Makefile: fix newline issue with WIFI_SD=y
  34. Makefile: fix Mac issue (undefine not supported) http://www.magiclantern.fm/forum/index.php?topic=2864.msg192847#msg192847
  35. fixed late evaluation issue in rule builder
  36. Makefile.platform.map: fix indentation
  37. Makefile: rules for "make install_qemu" (to use them, qemu has to be installed first)
  38. Makefile: with WIFI_SD=y, ping the card until it comes online (useful for router connections)
  39. Makefile: portable way to get number of processors
  40. further makefile cleanup, added make check to show which models were built and their memory usage
  41. fix 'all' target for models
  42. removed explicit make executable definition. allows to run e.g. 'remake' to debug make rules
  43. reworked model make rules to support different firmware versions for a model [to be thoroughly tested]
  44. disable ASSERT for 7D_MASTER
  45. Makefile: also print CONFIG overrides from command-line (alongside the ones from Makefile.user)
  46. Makefile: print tips for using make -j (how to set it by default in Makefiles?)
  47. Makefile: silence warning about CONFIG_SITE (some recent Linux distros use it)
  48. Makefile: portable way to get libgcc.a's path
  49. Makefile: removed old dropbox target
  50. Makefile: print build info after "make zip"; skip EXIDX line
  51. Makefile: fix CONFIG_CCACHE
  52. Makefile: use "gio mount" rather than "gvfs-mount" (they are interchangeable; older systems may require gvfs-mount, newer systems will print warnings)
  53. Makefile: if no valid ARM GCC is found in PATH, try to find one in the home directory
  54. Makefile: fix compiling tcc
  55. Makefile: moved toolchain setup to Makefile.setup (this allows toolchain to be overridden from Makefile.user)
  56. Makefile: fixes to allow compiling ML with Linaro arm-eabi-gcc; updated toolchain recommendations
  57. Makefile: updated toolchain recommendation; minor edits
  58. Makefile: attempt to use any arm-none-eabi-gcc from PATH, if already installed (to be tested) By default, it will attempt to use ~/gcc-arm-none-eabi-5_4-2016q3 if installed.
  59. Makefile: use gcc 5.4.1 by default (current version from https://launchpad.net/gcc-arm-embedded )
Changeset 12762:97b73e7a781e by alex@thinkpad:
Makefile: drop unused SUPPORTED_MODELS / SUPPORTED_UNIFIED_MODELS
The file was modifiedMakefile.user.default (diff)
Changeset 12761:82126d84f311 by alex@thinkpad:
Merged in makefile-updates (pull request #873)<br><br>Makefile updates to use any valid ARM toolchain
Changeset 12760:6cef1ea3d9bf by alex@thinkpad:
Makefile: fix 7D build_fir
The file was modifiedplatform/7D.203/Makefile (diff)
Changeset 12759:52bccf5762ee by alex@thinkpad:
Makefile: fix building Lua with gcc 4.7.3
The file was modifiedsrc/Makefile.src.config (diff)
Changeset 12758:a28936719d11 by alex@thinkpad:
Makefile: only attempt to build/install/check ML-SETUP.FIR if there is a valid installer directory<br>(some platforms may not have have one - 7D_MASTER, new ports)
The file was modifiedplatform/Makefile.platform.extras (diff)
Changeset 12757:5b81f34b425a by alex@thinkpad:
Card LED: always use CARD_LED_ADDRESS, LEDON and LEDOFF<br>(backed out 5bfab05 to fix installer on 7D - 0x800c00 not mandatory?)
The file was modifiedplatform/7D.203/consts.h (diff)
The file was modifiedsrc/debug.c (diff)
The file was modifiedsrc/installer.c (diff)
Changeset 12756:1d98a0736cb8 by alex@thinkpad:
Makefile: moved 7D-specific tweaks (FIR etc) into main target (7D.203)<br>for consistency with other platforms, including 7D2<br>to build the regular FIR: make build_fir<br>to build the installer FIR: make ML-SETUP.FIR -B
The file was modifiedplatform/7D.203/Makefile (diff)
The file was modifiedplatform/Makefile.platform.map (diff)
Changeset 12755:f8beef0ca833 by alex@thinkpad:
Makefile: FIR building updates<br>- always install ML-SETUP.FIR (zip, install, install_qemu)<br>- build_fir for regular ML (not installer) now gives AUTOEXEC.FIR<br>- to recompile ML-SETUP.FIR: &quot;make ML-SETUP.FIR -B&quot; from platform directory<br>- &quot;make zip&quot; will also compile the installer from source, without replacing the precompiled ML-SETUP.FIR<br>&nbsp; (just to make sure the source code changes do not interfere with building the installer)
The file was modifiedMakefile.inc (diff)
The file was modifiedMakefile.top (diff)
The file was modifiedplatform/Makefile.platform.base (diff)
The file was modifiedplatform/Makefile.platform.extras (diff)
The file was modifiedplatform/Makefile.platform.map (diff)
Changeset 12754:47f3108811c3 by alex@thinkpad:
Makefile: fix building xor_chk from its own directory
The file was modifiedbuild_tools/Makefile (diff)
Changeset 12753:59a6d0a40c7f by alex@thinkpad:
Makefile: more .NOTPARALLEL fixes
The file was modifiedMakefile (diff)
The file was modifiedinstaller/Makefile (diff)
Changeset 12752:5249a4ab74fa by alex@thinkpad:
Makefile: fix 7D FIR path<br>(just for consistency)
The file was modifiedplatform/Makefile.platform.map (diff)
Changeset 12751:2c627b19c8df by alex@thinkpad:
Makefile: use .NOTPARALLEL in top-level Makefiles, rather than double-colon rules<br>ML platforms/modules are built sequentially, but within each platform/module, parallel build is used<br>to be tested on Mac with -j8<br>(on Make 3.81, double-colon are executed in parallel, while in 4.2.1 they are sequential)
The file was modifiedMakefile (diff)
The file was modifiedmodules/Makefile (diff)
The file was modifiedplatform/Makefile (diff)
The file was modifiedplatform/Makefile.platform.map (diff)
Changeset 12750:36d3ec245c1f by alex@thinkpad:
Makefile: fix README.rst generation with POSIX shells<br>to reproduce: cd modules/filepref; make clean; rm -f README.rst; make SHELL=dash
The file was modifiedmodules/Makefile.modules (diff)
Changeset 12749:01953d31029b by alex@thinkpad:
Makefile: serialize &quot;make install&quot;, fix some related dependencies<br>parallel copying could lock up WIFI_SD cards<br>to reproduce: &quot;WIFI_SD=y make install ML_MODULES=&quot; from platform/CAM directory
The file was modifiedMakefile.inc (diff)
The file was modifiedmodules/Makefile (diff)
The file was modifiedmodules/Makefile.modules (diff)
Changeset 12748:e592e31c3b41 by alex@thinkpad:
Makefile: monitor wifi connection when using WIFI_SD=y<br>(experimental, helps troubleshooting connectivity issues)
The file was modifiedMakefile.user.default (diff)
Changeset 12747:84d6ed453e7a by alex@thinkpad:
Makefile: minor refactors for WIFI_SD (coding style)<br>also fixed a typo
The file was modifiedMakefile.user.default (diff)
Changeset 12746:26fe70cea745 by alex@thinkpad:
Modules: better error handling for missing rst2html<br>http://www.magiclantern.fm/forum/index.php?topic=17099
The file was modifiedmodules/Makefile.modules (diff)
The file was modifiedmodules/readme2modulestrings.py (diff)
Changeset 12745:5ea430b1fb60 by alex@thinkpad:
Makefile: speed optimizations<br>- helper to evaluate only once, only if used<br>- modules hgstamp: only evaluate if used<br>- CF_CARD, VERSION: only evaluate once if used<br>- PWD is special? renamed to avoid unneeded shell calls<br>Profiling tips:<br>- perf record make; perf report --sort comm<br>- make SHELL=&quot;sh -x&quot;<br>- make clean SHELL=&quot;sh -x&quot; |&amp; grep &quot;^+&quot; | sort | uniq -c
The file was modifiedMakefile.inc (diff)
The file was modifiedMakefile.top (diff)
The file was modifiedMakefile.user.default (diff)
The file was modifiedmodules/Makefile.modules (diff)
Changeset 12744:f2ed3dc0790a by alex@thinkpad:
Makefile: enable parallel compilation for modules, but compile them sequentially<br>huge modules like Lua will compile much faster<br>compiling everything in parallel is not 100% safe (some dependency checks may fail)
The file was modifiedmodules/Makefile (diff)
The file was modifiedmodules/Makefile.modules (diff)
Changeset 12743:4d93c8f7bca3 by alex@thinkpad:
Makefile: do not print toolchain info on recursive calls
The file was modifiedMakefile.setup.toolchain (diff)
Changeset 12742:d20616702840 by alex@thinkpad:
Makefile: reworked global targets<br>install: doesn&#039;t make sense, as we no longer have a &quot;one size fits all&quot; build capable of running on all models<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (alternative: 5D3.113_install, 60D_install etc)<br>zip: build zip for each camera model, sequentially (parallel build still used within each zip)<br>all: similar to zip (build camera models sequentially, but use parallel compilation within each platform)<br>clean, check: these can run in parallel (no restrictions)
The file was modifiedMakefile (diff)
The file was modifiedplatform/Makefile (diff)
The file was modifiedplatform/Makefile.platform.map (diff)
Changeset 12741:aa050618c27f by alex@thinkpad:
Makefile: fix module dependency checking on &quot;make zip&quot;<br>by default, a module succeeds if it can be loaded on any camera model, from those compiled (doesn&#039;t matter which one)<br>when using &quot;make zip&quot;, we only want to include the modules compatible with current camera model, without considering other models<br>(fixme: not the cleanest way to implement this)
The file was modifiedMakefile.inc (diff)
Changeset 12740:718e285e224d by alex@thinkpad:
Makefile: fix module_strings dependency rule<br>(previously, there was an error with make -j)
The file was modifiedmodules/Makefile.modules (diff)
Changeset 12739:2db4026d348a by alex@thinkpad:
Makefile: dropped ML_MODULES_STATIC (unused) and renamed ML_MODULES_DYNAMIC to ML_MODULES<br>note: if you have customized the module list in Makefile.modules.user, just rename ML_MODULES_DYNAMIC to ML_MODULES<br>to compile without modules: make 5D3 ML_MODULES=
The file was modifiedmodules/Makefile (diff)
The file was modifiedmodules/Makefile.modules.default (diff)
Changeset 12738:ff1401e9fc1c by alex@thinkpad:
Makefile: fix &quot;make clean&quot; from modules directory with stale modules from other branches<br>https://bitbucket.org/hudson/magic-lantern/pull-requests/873/makefile-updates-to-use-any-valid-arm/diff#comment-48250675
The file was modifiedmodules/Makefile (diff)
Changeset 12737:3ca10bd65cbf by alex@thinkpad:
Makefile: fix running from other directory<br>e.g. from qemu: make -C ../magic-lantern/ 500D_install_qemu
The file was modifiedMakefile (diff)
Changeset 12736:919971999199 by alex@thinkpad:
Makefile: model-specific install targets for the root directory<br>examples: make 500D_install; make 500D_install_qemu
The file was modifiedplatform/Makefile.platform.map (diff)
Changeset 12735:871f759a2ada by alex@thinkpad:
7D: fix compiling with FEATURE_VIDEO_HACKS
The file was modifiedsrc/ml_rpc.h (diff)
Changeset 12734:6a08a65fe077 by alex@thinkpad:
Makefile: fix building 7D_MASTER
The file was modifiedplatform/Makefile.platform.map (diff)
Changeset 12733:c7554e33d373 by alex@thinkpad:
Makefile: minor cleanups from 0b9b550
The file was modifiedMakefile.user.default (diff)
Changeset 12732:440a589e5781 by alex@thinkpad:
Makefile: always define CONFIG_$(MODEL)_$(FW_VERSION)<br>e.g. CONFIG_5D3_113, CONIFG_7D_203 and so on
The file was modifiedplatform/5D3.113/Makefile.setup.default (diff)
The file was modifiedplatform/5D3.123/Makefile.setup.default (diff)
The file was modifiedsrc/Makefile.src (diff)
Changeset 12731:539328ffa29d by alex@thinkpad:
Makefile: fix for GNU make 3.8.1<br>(thanks g3gg0)
The file was modifiedplatform/Makefile.platform.map (diff)
Changeset 12730:f03c00c5604f by alex@thinkpad:
Makefile: fix newline issue with WIFI_SD=y
The file was modifiedMakefile.user.default (diff)
Changeset 12729:84d1418c2bae by alex@thinkpad:
Makefile: fix Mac issue (undefine not supported)<br>http://www.magiclantern.fm/forum/index.php?topic=2864.msg192847#msg192847
The file was modifiedMakefile.setup (diff)
Changeset 12728:623689fc0520 by g3gg0:
fixed late evaluation issue in rule builder
The file was modifiedplatform/Makefile.platform.map (diff)
Changeset 12727:bda493a4af60 by alex@thinkpad:
Makefile.platform.map: fix indentation
The file was modifiedplatform/Makefile.platform.map (diff)
Changeset 12726:27f4105cfa83 by alex@thinkpad:
Makefile: rules for &quot;make install_qemu&quot;<br>(to use them, qemu has to be installed first)
The file was modifiedMakefile.inc (diff)
Changeset 12725:383ea35cd0e1 by alex@thinkpad:
Makefile: with WIFI_SD=y, ping the card until it comes online (useful for router connections)
The file was modifiedMakefile.user.default (diff)
Changeset 12724:7fd995a3d2fe by alex@thinkpad:
Makefile: portable way to get number of processors
The file was modifiedsrc/Makefile.src (diff)
Changeset 12723:30a88aae702c by g3gg0:
further makefile cleanup, added make check to show which models were built and their memory usage
The file was modifiedplatform/Makefile.platform.map (diff)
Changeset 12722:37dd5965566a by g3gg0:
fix &#039;all&#039; target for models
The file was modifiedplatform/Makefile.platform.map (diff)
Changeset 12721:376a9cc553a9 by g3gg0:
removed explicit make executable definition. allows to run e.g. &#039;remake&#039; to debug make rules
The file was modifiedMakefile.top (diff)
Changeset 12720:e6ffbdf45848 by g3gg0:
reworked model make rules to support different firmware versions for a model [to be thoroughly tested]
The file was modifiedMakefile (diff)
The file was modifiedplatform/Makefile (diff)
The file was modifiedplatform/Makefile.platform.base (diff)
The file was modifiedplatform/Makefile.platform.map (diff)
Changeset 12719:9033380d4145 by g3gg0:
disable ASSERT for 7D_MASTER
The file was modifiedsrc/dryos.h (diff)
Changeset 12718:d4e642179ab3 by alex@thinkpad:
Makefile: also print CONFIG overrides from command-line<br>(alongside the ones from Makefile.user)
The file was modifiedsrc/Makefile.src (diff)
Changeset 12717:447a93cb1862 by alex@thinkpad:
Makefile: print tips for using make -j<br>(how to set it by default in Makefiles?)
The file was modifiedsrc/Makefile.src (diff)
Changeset 12716:4b4b194b47be by alex@thinkpad:
Makefile: silence warning about CONFIG_SITE<br>(some recent Linux distros use it)
The file was modifiedMakefile.setup (diff)
Changeset 12715:345427fce64c by alex@thinkpad:
Makefile: portable way to get libgcc.a&#039;s path
The file was modifiedMakefile.setup.toolchain (diff)
The file was modifiedMakefile.user.default (diff)
Changeset 12714:26c84b1af25e by alex@thinkpad:
Makefile: removed old dropbox target
The file was modifiedMakefile (diff)
Changeset 12713:be16e64382b6 by alex@thinkpad:
Makefile: print build info after &quot;make zip&quot;; skip EXIDX line
The file was modifiedMakefile.inc (diff)
The file was modifiedsrc/Makefile.src (diff)
Changeset 12712:d3e332db1169 by alex@thinkpad:
Makefile: fix CONFIG_CCACHE
The file was modifiedMakefile.setup (diff)
Changeset 12711:f51317e620f6 by alex@thinkpad:
Makefile: use &quot;gio mount&quot; rather than &quot;gvfs-mount&quot;<br>(they are interchangeable; older systems may require gvfs-mount, newer systems will print warnings)
The file was modifiedMakefile.user.default (diff)
Changeset 12710:9aec0a114e6b by alex@thinkpad:
Makefile: if no valid ARM GCC is found in PATH, try to find one in the home directory
The file was modifiedMakefile.setup.toolchain (diff)
Changeset 12709:cd0ee9461466 by alex@thinkpad:
Makefile: fix compiling tcc
The file was addedMakefile.setup.toolchain
The file was modifiedMakefile.setup (diff)
The file was modifiedtcc/Makefile (diff)
Changeset 12708:d06fe5db790f by alex@thinkpad:
Makefile: moved toolchain setup to Makefile.setup<br>(this allows toolchain to be overridden from Makefile.user)
The file was modifiedMakefile.setup (diff)
The file was modifiedMakefile.user.default (diff)
Changeset 12707:993fd34e896f by alex@thinkpad:
Makefile: fixes to allow compiling ML with Linaro arm-eabi-gcc; updated toolchain recommendations
The file was modifiedMakefile.user.default (diff)
Changeset 12706:579cec74efd8 by alex@thinkpad:
Makefile: updated toolchain recommendation; minor edits
The file was modifiedMakefile.user.default (diff)
Changeset 12705:6566325a85e8 by alex@thinkpad:
Makefile: attempt to use any arm-none-eabi-gcc from PATH, if already installed (to be tested)<br>By default, it will attempt to use ~/gcc-arm-none-eabi-5_4-2016q3 if installed.
The file was modifiedMakefile.user.default (diff)
Changeset 12704:e533765f6941 by alex@thinkpad:
Makefile: use gcc 5.4.1 by default (current version from https://launchpad.net/gcc-arm-embedded )
The file was modifiedMakefile.user.default (diff)