From fafbc6a23408e071d6cbff858e8492b8abab479c Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sun, 4 Nov 2018 16:37:40 +0100 Subject: Makefile: Add `build-release` target Build a release version of the library. To get these recipies, did what I did before for the debug ones. Ran $ xcodebuild -scheme dome_key_event_source_simulator -configuration Release and copy-pasted the result, with these changes: * Removed "sysroot"-related arguments (for Rust integration) * Changed absolute paths to use `${HOME}` * Replaced DerivedData directory path hash with `*` --- Makefile | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/Makefile b/Makefile index 8e234dd..550cd58 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,9 @@ SOURCES := dome_key_event_source_simulator/* OBJECT_DEBUG := ~/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Intermediates.noindex/dome_key_event_source_simulator.build/Debug/dome_key_event_source_simulator.build/Objects-normal/x86_64/dome_key_event_source_simulator.o LIB_DEBUG := ~/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Products/Debug/libdome_key_event_source_simulator.a +OBJECT_RELEASE := ~/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Intermediates.noindex/dome_key_event_source_simulator.build/Release/dome_key_event_source_simulator.build/Objects-normal/x86_64/dome_key_event_source_simulator.o +LIB_RELEASE := ~/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Products/Release/libdome_key_event_source_simulator.a + .PHONY: build build: $(LIB_DEBUG) @@ -113,6 +116,114 @@ $(LIB_DEBUG): $(OBJECT_DEBUG) ${HOME}/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Intermediates.noindex/dome_key_event_source_simulator.build/Debug/dome_key_event_source_simulator.build/Objects-normal/x86_64/dome_key_event_source_simulator.LinkFileList \ -o $@ +.PHONY: build-release +build-release: $(LIB_RELEASE) + +$(OBJECT_RELEASE): $(SOURCES) + LANG=en_US.US-ASCII \ + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang \ + -x objective-c \ + -arch x86_64 \ + -fmessage-length=103 \ + -fdiagnostics-show-note-include-stack \ + -fmacro-backtrace-limit=0 \ + -fcolor-diagnostics \ + -std=gnu11 \ + -fmodules \ + -fmodules-cache-path=${HOME}/Library/Developer/Xcode/DerivedData/ModuleCache \ + -fmodules-prune-interval=86400 \ + -fmodules-prune-after=345600 \ + -fbuild-session-file=${HOME}/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation \ + -fmodules-validate-once-per-build-session \ + -Wnon-modular-include-in-framework-module \ + -Werror=non-modular-include-in-framework-module \ + -Wno-trigraphs \ + -fpascal-strings \ + -Os \ + -fno-common \ + -Wno-missing-field-initializers \ + -Wno-missing-prototypes \ + -Werror=return-type \ + -Wdocumentation \ + -Wunreachable-code \ + -Wno-implicit-atomic-properties \ + -Werror=deprecated-objc-isa-usage \ + -Werror=objc-root-class \ + -Wno-arc-repeated-use-of-weak \ + -Wduplicate-method-match \ + -Wno-missing-braces \ + -Wparentheses \ + -Wswitch \ + -Wunused-function \ + -Wno-unused-label \ + -Wno-unused-parameter \ + -Wunused-variable \ + -Wunused-value \ + -Wempty-body \ + -Wuninitialized \ + -Wconditional-uninitialized \ + -Wno-unknown-pragmas \ + -Wno-shadow \ + -Wno-four-char-constants \ + -Wno-conversion \ + -Wconstant-conversion \ + -Wint-conversion \ + -Wbool-conversion \ + -Wenum-conversion \ + -Wno-float-conversion \ + -Wnon-literal-null-conversion \ + -Wobjc-literal-conversion \ + -Wshorten-64-to-32 \ + -Wpointer-sign \ + -Wno-newline-eof \ + -Wno-selector \ + -Wno-strict-selector-match \ + -Wundeclared-selector \ + -Wno-deprecated-implementations \ + -DNS_BLOCK_ASSERTIONS=1 \ + -DOBJC_OLD_DISPATCH_PROTOTYPES=0 \ + -fasm-blocks \ + -fstrict-aliasing \ + -Wprotocol \ + -Wdeprecated-declarations \ + -mmacosx-version-min=10.6 \ + -g \ + -Wno-sign-conversion \ + -Winfinite-recursion \ + -Wcomma \ + -Wblock-capture-autoreleasing \ + -Wstrict-prototypes \ + -Wunguarded-availability \ + -iquote \ + ${HOME}/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Intermediates.noindex/dome_key_event_source_simulator.build/Release/dome_key_event_source_simulator.build/dome_key_event_source_simulator-generated-files.hmap \ + -I${HOME}/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Intermediates.noindex/dome_key_event_source_simulator.build/Release/dome_key_event_source_simulator.build/dome_key_event_source_simulator-own-target-headers.hmap \ + -I${HOME}/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Intermediates.noindex/dome_key_event_source_simulator.build/Release/dome_key_event_source_simulator.build/dome_key_event_source_simulator-all-target-headers.hmap \ + -iquote \ + ${HOME}/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Intermediates.noindex/dome_key_event_source_simulator.build/Release/dome_key_event_source_simulator.build/dome_key_event_source_simulator-project-headers.hmap \ + -I${HOME}/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Products/Release/include \ + -I${HOME}/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Intermediates.noindex/dome_key_event_source_simulator.build/Release/dome_key_event_source_simulator.build/DerivedSources/x86_64 \ + -I${HOME}/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Intermediates.noindex/dome_key_event_source_simulator.build/Release/dome_key_event_source_simulator.build/DerivedSources \ + -F${HOME}/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Products/Release \ + -MMD \ + -MT dependencies \ + -MF \ + ${HOME}/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Intermediates.noindex/dome_key_event_source_simulator.build/Release/dome_key_event_source_simulator.build/Objects-normal/x86_64/dome_key_event_source_simulator.d \ + --serialize-diagnostics \ + ${HOME}/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Intermediates.noindex/dome_key_event_source_simulator.build/Release/dome_key_event_source_simulator.build/Objects-normal/x86_64/dome_key_event_source_simulator.dia \ + -c \ + ${HOME}/Documents/Development/dome_key_event_source_simulator/dome_key_event_source_simulator/dome_key_event_source_simulator.m \ + -o $@ + +$(LIB_RELEASE): $(OBJECT_RELEASE) + MACOSX_DEPLOYMENT_TARGET=10.6 \ + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool \ + -static \ + -arch_only x86_64 \ + -L${HOME}/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Products/Release \ + -filelist \ + ${HOME}/Library/Developer/Xcode/DerivedData/dome_key_event_source_simulator-*/Build/Intermediates.noindex/dome_key_event_source_simulator.build/Release/dome_key_event_source_simulator.build/Objects-normal/x86_64/dome_key_event_source_simulator.LinkFileList \ + -o $@ + .PHONY: clean clean: xcodebuild -scheme dome_key_event_source_simulator -configuration Debug clean -- cgit v1.2.3