Copyright © Alex Bettarini, 2019-2024
The purpose of this project is to assist in setting up and configuring all dependencies for the project Miele-LXIV.
In other words, the goal of this project is NOT to build Miele-LXIV, but to create and configure the Xcode project that builds Miele-LXIV.
The directory where this README.md file has been downloaded shall be referred to as EASY_HOME
Additionally, you must define the three top-level directories involved in the process (or conveniently accept the suggested defaults in STEP 1 below):
- sources:
SRCwhere all the source files will be downloaded - build:
BLDtemporary location for intermediate files - install:
BINthe Xcode project will reference 3rd party modules installed here
-
kconfig-mconf
This is a tool normally used in Linux systems to rebuild the kernel with a custom configuration. It was chosen because it creates configuration files that work well with shell scripts.
It's probably possible to install it from sources, and the dependencies can be installed using brew (gperf ncurses flex bison).
Instead, I found it very convenient to install it like in the NuttX project:$ mkdir -p $SRC/nuttx $ cd $SRC/nuttx $ cd $SRC/nuttx/tools/kconfig-frontends $ ./configure --disable-shared --enable-static --disable-gconf --disable-qconf --disable-nconf --disable-utils $ make $ sudo make install $ which kconfig-mcon -
wget
-
cmake
CMakeis the GUI application, whereascmakeis the CLI utility that we need. If the command$ which cmakedoesn't return anything, you can install it either with brew:$ brew install cmakeor from the GUI package:
$ sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install
-
Assuming the file
$EASY_HOME/seed.confhasn't been created yet, do the following:$ cd $EASY_HOME $ ./build.shIf you are brave or have the need for it, define and select your own version set file. I suggest you don't change anything, to get a default, tried and tested setup.
- Save, Ok, Exit
- Exit
-
This is also a step that should be run once only:
$ ./reconfigure.sh- enable "Download sources" and possibly disable all other steps
- Save, Ok, Exit
- Exit
Run the shell script that carries out the downloads:
$ ./build.sh
-
If everything goes smoothly this step is also done once only:
$ ./reconfigure.sh- If "Download sources" is enabled, disable it: you don't want to download everything again.
- Enable: Configure, Build, Install
- Save, Ok, Exit
- Exit
Run the shell script. This step will run for about one hour. To capture possible errors and warnings, save the output to a log file:
$ script log/$(date +%Y%m%d_%H%M).txt $ ./build.sh ; exit
-
This step sets up the
Binariesdirectory of the Xcode project$ ./reconfigure.sh- Enable only "Create Symbolic links"
- Save, Ok, Exit
- Exit
Run the shell script.
$ ./build.sh
While STEPS 1..4 are nicely engineered to configure the project, there still remains some fixup to be done manually. This extra step will soon disappear, being replaced by a more elegant behind the scenes action. For the time being, please make the effort of doing what is explained in the link below.
-
Now the goal of setting up the Xcode project that builds Miele-LXIV has been reached. You should be able to build the application from Xcode, make your modifications to the source files, and start your usual development cycle.
-
If you prefer to work from the Command line, open up Terminal and re-build the project like this:
$ xcodebuild -configuration Development -target miele-lxivNote that one of the advantages of building the Development version is that it will NOT be sandboxed.
-
If you want to reclaim some disk space you can safely remove the
miele-...subdirectory in $BLD.



