aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
AgeCommit message (Collapse)Author
2018-10-29Rename `sounds.h` to `sound_data.h`Teddy Wing
I want to make a Cocoa class called `Sounds`, but `Sounds.h` would conflict with this file.
2018-10-29Add `sounds.h`, C array versions of sound filesTeddy Wing
This enables us to compile the sound files into our binary. Makefile: Add a target to build the `sounds.h` file, by running `xxd -i` on both sound files. Thanks to Matteo Italia (https://stackoverflow.com/users/214671/matteo-italia) on Stack Overflow for describing how to use `xxd -i` to create a C array from a binary file: https://stackoverflow.com/questions/8707183/script-tool-to-convert-file-to-c-c-source-code-array/8707241#8707241 An to John Marshall (https://stackoverflow.com/users/280577/john-marshall) on Stack Overflow for showing me the Make `foreach` function: https://stackoverflow.com/questions/7918511/make-execute-an-action-for-each-prerequisite/7921168#7921168
2018-10-24Makefile: Add a `clean` targetTeddy Wing
2018-10-06Makefile(run): Add the `--daemon` flag to the executableTeddy Wing
Now that the `--daemon` flag is required to go into daemon mode instead of it happening automatically, add this flag to the `run` target to give us the same behaviour we had before.
2018-09-25Makefile: Fix dependency on Rust libTeddy Wing
Turns out the order-only prerequisite from 8c363688ac173d34c865b8271ade8c845b67fa24 was a false lead. That just made Make ignore the timestamp on the file and caused it to rebuild the dependency tree correctly. Looks like we need an actual dependency on the Rust source files in order to get the tree working correctly. Can't just call into the sub-make and have it work. Change the `RUST_LIB` prerequisite to point to the actual file because otherwise it always has the latest timestamp, causing `xcodebuild` to run. Unfortunately we end up with duplication between this Makefile and the one in `dome-key-map`, but that seems unavoidable if we want to set up the dependencies correctly. Now it finally seems to work right.
2018-09-24Makefile: Only run `xcodebuild` when there are changesTeddy Wing
Previously, Make would always run `xcodebuild`. I couldn't figure out why, but after some looking around and experimenting, it looked to be due to the `$(RUST_LIB)` prerequisite. Putting it in the order-only dependencies list seems to fix the never-up-to-date problem. Also use `:=` instead of `=` when defining `SOURCE_FILES`. During my research, I came across this recommendation: > always use := not = for shell (and wildcard, for that matter) for > performance reasons. From MadScientist (https://stackoverflow.com/users/939557/madscientist) on Stack Overflow: https://stackoverflow.com/questions/26694249/makefiles-using-wildcard-vs-find-for-specifying-source-files/26694693#26694693 Move the `DomeKey` debug product executable path into a variable and use it as a target to clarify the build target and also allow us to substitute the variable in the `run` task. Now finally, `make run` won't re-build the project if no changes have been made, it'll just run the executable.
2018-09-24Makefile: Add a target to run the programTeddy Wing
Equivalent of Xcode's "Build & Run" action that we can execute in the command line.
2018-08-28Makefile(build): Add dependency on Rust library targetTeddy Wing
2018-08-27Makefile: Add target for Rust libraryTeddy Wing
Make a sub-make target for the Rust library. We'll want to make this a dependency of the regular DomeKey `build` target.
2018-08-27Makefile: Make `build` target phonyTeddy Wing
2018-08-27Add MakefileTeddy Wing
Planning on using this to set up build a dependency on the Rust project.