diff options
author | Teddy Wing | 2018-11-05 01:19:55 +0100 |
---|---|---|
committer | Teddy Wing | 2018-11-05 01:19:55 +0100 |
commit | c64bbfd6eb6c4485076265c8be3c28ff3c18fdab (patch) | |
tree | daf6e4494a933d0cea876e8160abf8aad0485088 /Makefile | |
parent | 2e9cb5076e683f3a05ae10638f8d2ec8b4170276 (diff) | |
download | DomeKey-c64bbfd6eb6c4485076265c8be3c28ff3c18fdab.tar.bz2 |
Makefile: Use project-local build directory
Set 'DerivedData' path in `xcodebuild` to give us a local build
directory.
Doing this because when the 'Debug', or 'Release' directories in
'Build/Products/' don't exist, Make doesn't build our recipes. Make
seems to prefer local files, and I don't imagine the wildcard in the
path does us any favours.
When I changed the DerivedData path, I ended up with this error:
In file included from DomeKey/DomeKey/HeadphoneKey.m:9:
DomeKey/DomeKey/HeadphoneKey.h:10:9: fatal error:
'DDHidLib/DDHidAppleMikey.h' file not found
#import <DDHidLib/DDHidAppleMikey.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Couldn't figure out what the problem was, and what changed there when I
changed the DerivedData directory. So I just fixed it in the only way I
could think of: adding the DDHidLib 'lib' directory to
`HEADER_SEARCH_PATHS` and updating the `#import` to point to the new
location.
We also create a release target in this commit, which gives us a release
build of the program.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 23 |
1 files changed, 20 insertions, 3 deletions
@@ -9,26 +9,43 @@ RUST_LOCAL_LIB := target/debug/libdome_key_map.a RUST_LIB := $(RUST_DIR)/$(RUST_LOCAL_LIB) RUST_SOURCE_FILES := $(shell find $(RUST_DIR)/src -type f -name '*.rs') -DEBUG_PRODUCT := ~/Library/Developer/Xcode/DerivedData/DomeKey-*/Build/Products/Debug/DomeKey +RUST_LOCAL_LIB_RELEASE := target/release/libdome_key_map.a +RUST_LIB_RELEASE := $(RUST_DIR)/$(RUST_LOCAL_LIB_RELEASE) + +DEBUG_PRODUCT := build/Build/Products/Debug/DomeKey +RELEASE_PRODUCT := build/Build/Products/Release/DomeKey .PHONY: build build: $(DEBUG_PRODUCT) $(DEBUG_PRODUCT): $(SOURCE_FILES) $(RUST_LIB) - xcodebuild -scheme DomeKey -configuration Debug + xcodebuild -scheme DomeKey -configuration Debug -derivedDataPath build $(RUST_LIB): $(RUST_SOURCE_FILES) $(MAKE) -C $(RUST_DIR) $(RUST_LOCAL_LIB) .PHONY: clean clean: - xcodebuild -scheme DomeKey -configuration Debug clean + xcodebuild -scheme DomeKey -configuration Debug -derivedDataPath build clean .PHONY: run run: build $(DEBUG_PRODUCT) --daemon +.PHONY: build-release +build-release: $(RELEASE_PRODUCT) + +$(RELEASE_PRODUCT): $(SOURCE_FILES) $(RUST_LIB_RELEASE) + xcodebuild -scheme DomeKey -configuration Release -derivedDataPath build + +$(RUST_LIB_RELEASE): $(RUST_SOURCE_FILES) + $(MAKE) -C $(RUST_DIR) $(RUST_LOCAL_LIB_RELEASE) + +.PHONY: clean-release +clean-release: + xcodebuild -scheme DomeKey -configuration Release -derivedDataPath build clean + DomeKey/sound_data.h: sounds/*.mp3 : > $@ echo '#ifndef SOUND_DATA_H' >> $@ |