# Copyright (c) 2014-2021, The Monero Project # # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are # permitted provided that the following conditions are met: # # 1. Redistributions of source code must retain the above copyright notice, this list of # conditions and the following disclaimer. # # 2. Redistributions in binary form must reproduce the above copyright notice, this list # of conditions and the following disclaimer in the documentation and/or other # materials provided with the distribution. # # 3. Neither the name of the copyright holder nor the names of its contributors may be # used to endorse or promote products derived from this software without specific # prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL # THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY CMAKEFLAGS = \ -DARCH=x86_64 \ -DBUILD_64=On \ -DBUILD_TESTS=Off \ -DXMRIG=Off \ -DTOR_BIN=Off \ -DCMAKE_CXX_STANDARD=11 \ -DCMAKE_VERBOSE_MAKEFILE=On \ -DINSTALL_VENDORED_LIBUNBOUND=Off \ -DMANUAL_SUBMODULES=1 \ -DSTATIC=On \ -DUSE_DEVICE_TREZOR=Off \ $(CMAKEFLAGS_EXTRA) release-static: CMAKEFLAGS += -DBUILD_TAG="linux-x64" release-static: CMAKEFLAGS += -DTOR_BIN=$(or ${TOR_BIN},OFF) release-static: CMAKEFLAGS += -DCMAKE_BUILD_TYPE=Release release-static: CMAKEFLAGS += -DREPRODUCIBLE=$(or ${SOURCE_DATE_EPOCH},OFF) release-static: cmake -Bbuild $(CMAKEFLAGS) $(MAKE) -Cbuild depends: mkdir -p build/$(target)/release cd build/$(target)/release && cmake -D STATIC=ON -DREPRODUCIBLE=$(or ${SOURCE_DATE_EPOCH},OFF) -DTOR_VERSION=$(or ${TOR_VERSION}, OFF) -DTOR_BIN=$(or ${TOR_BIN},OFF) -D DEV_MODE=$(or ${DEV_MODE},OFF) -D BUILD_TAG=$(tag) -D CMAKE_BUILD_TYPE=Release -D CMAKE_TOOLCHAIN_FILE=$(root)/$(target)/share/toolchain.cmake ../../.. && $(MAKE) windows-mxe-release: CMAKEFLAGS += -DBUILD_TAG="win-x64" windows-mxe-release: CMAKEFLAGS += -DTOR_BIN=$(or ${TOR_BIN},OFF) windows-mxe-release: CMAKEFLAGS += -DCMAKE_BUILD_TYPE=Release windows-mxe-release: cmake -Bbuild $(CMAKEFLAGS) $(MAKE) -Cbuild windows-mxe-debug: CMAKEFLAGS += -DBUILD_TAG="win-x64" windows-mxe-debug: CMAKEFLAGS += -DTOR_BIN=$(or ${TOR_BIN},OFF) windows-mxe-debug: CMAKEFLAGS += -DCMAKE_BUILD_TYPE=Debug windows-mxe-debug: cmake -Bbuild $(CMAKEFLAGS) $(MAKE) -Cbuild mac-release: CMAKEFLAGS += -DSTATIC=Off mac-release: CMAKEFLAGS += -DTOR_BIN=$(or ${TOR_BIN},OFF) mac-release: CMAKEFLAGS += -DBUILD_TAG="mac-x64" mac-release: CMAKEFLAGS += -DCMAKE_BUILD_TYPE=Release mac-release: cmake -Bbuild $(CMAKEFLAGS) $(MAKE) -Cbuild $(MAKE) -Cbuild deploy install: ifeq ($(shell uname),Linux) install -d ~/.local/bin install -d ~/.local/share/man/man1 install -d ~/.local/share/applications install -d ~/.local/share/icons/hicolor/scalable/apps install -m755 build/bin/wowlet ~/.local/bin install -m644 src/assets/wowlet.1.gz ~/.local/share/man/man1 install -m644 src/assets/org.wowlet.wowlet.desktop ~/.local/share/applications install -m644 src/assets/images/appicons/wowlet.svg ~/.local/share/icons/hicolor/scalable/apps @echo "Wowlet installed locally to $HOME/.local/bin. To remove program, run: make uninstall"; \ exit 0; endif ifeq ($(shell uname),Darwin) cp -r build/bin/wowlet.app ~/Desktop/wowlet.app @echo "Copied wowlet.app to Desktop."; \ exit 0; endif uninstall: ifeq ($(shell uname),Linux) rm -rf ~/.local/bin/wowlet rm -rf ~/.local/share/man/man1/wowlet.1.gz rm -rf ~/.local/share/applications/org.wowlet.wowlet.desktop rm -rf ~/.local/share/icons/hicolor/scalable/apps/wowlet.svg rm -rf ~/.config/wowlet @echo "Removed wowlet and cleared config files."; \ exit 0; endif ifeq ($(shell uname),Darwin) rm -rf ~/Desktop/wowlet.app rm -rf ~/.config/wowlet @echo "Removed wowlet.app from Desktop and cleared config files."; \ exit 0; endif clean: @echo "WARNING: This will delete the build directory."; \ read -r -p "Did you want to continue (y/N)?: " CONTINUE; \ [ $$CONTINUE = "y" ] || [ $$CONTINUE = "Y" ] || [ $$CONTINUE = "yes" ] || [ $$CONTINUE = "Yes" ] || exit 1; rm -rf build