aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
AgeCommit message (Collapse)Author
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.