Added all-encompassing packaging script, improvements to CMake build script
This commit is contained in:
64
Makefile
64
Makefile
@@ -1,44 +1,44 @@
|
||||
#
|
||||
# ZeroTier SDK - Network Virtualization Everywhere
|
||||
# Copyright (C) 2011-2017 ZeroTier, Inc. https://www.zerotier.com/
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# --
|
||||
#
|
||||
# You can be released from the requirements of the license by purchasing
|
||||
# a commercial license. Buying such a license is mandatory as soon as you
|
||||
# develop commercial closed-source software that incorporates or links
|
||||
# directly against ZeroTier software without disclosing the source code
|
||||
# of your own application.
|
||||
#
|
||||
|
||||
# NOTE: This file only exists as a convenience for cleaning. To build, use
|
||||
# CMake. Instructions are given in README.md
|
||||
# NOTE: This file only exists as a convenience for cleaning and building
|
||||
# products for release. To build, use CMake. Instructions in README.md
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf bin build
|
||||
rm -rf bin build products tmp
|
||||
rm -f *.o *.s *.exp *.lib .depend* *.core core
|
||||
rm -rf .depend
|
||||
find . -type f \( -name '*.a' -o -name '*.o' -o -name '*.so' -o -name \
|
||||
'*.o.d' -o -name '*.out' -o -name '*.log' -o -name '*.dSYM' \) -delete
|
||||
'*.o.d' -o -name '*.out' -o -name '*.log' -o -name '*.dSYM' -o -name '*.dylib' -o -name '*.class' \) -delete
|
||||
|
||||
# Build and package everything
|
||||
# This command shall be run twice:
|
||||
# (1) Generates projects
|
||||
# <perform any required modifications>
|
||||
# (2) Build products and package everything
|
||||
.PHONY: dist
|
||||
dist: patch
|
||||
./packages/dist.sh
|
||||
|
||||
# Initialize submodules and apply patches
|
||||
.PHONY: all
|
||||
all: update patch
|
||||
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build
|
||||
|
||||
# Clean build paths
|
||||
clean_win:
|
||||
-"rd /S /Q bin"
|
||||
-"rd /S /Q build"
|
||||
|
||||
# Remove any CMake-generated library-building projects
|
||||
clean_packages:
|
||||
rm -rf packages/xcode_ios
|
||||
rm -rf packages/xcode_macos
|
||||
|
||||
.PHONY: update
|
||||
update:
|
||||
git submodule update --init --recursive
|
||||
|
||||
# Patch submodules
|
||||
patch:
|
||||
git -C ext/lwip apply ../lwip.patch
|
||||
git -C ext/lwip-contrib apply ../lwip-contrib.patch
|
||||
-git -C ext/lwip apply ../lwip.patch
|
||||
-git -C ext/lwip-contrib apply ../lwip-contrib.patch
|
||||
Reference in New Issue
Block a user