Makefile.in (n2n-3.0) | : | Makefile.in (n2n-3.1.1) | ||
---|---|---|---|---|
# NOTE: these are needed by the configure.in inside the packages folder | # NOTE: these are needed by the configure.in inside the packages folder | |||
N2N_VERSION_SHORT=@N2N_VERSION_SHORT@ | N2N_VERSION=@N2N_VERSION@ | |||
GIT_COMMITS=@GIT_COMMITS@ | ||||
GIT_DESCRIBE=$(shell git describe --always --dirty) | ||||
######## | ######## | |||
export CC | export CC | |||
export AR | export AR | |||
CC=@CC@ | CC=@CC@ | |||
AR=@AR@ | AR=@AR@ | |||
#Ultrasparc64 users experiencing SIGBUS should try the following gcc options | #Ultrasparc64 users experiencing SIGBUS should try the following gcc options | |||
#(thanks to Robert Gibbon) | #(thanks to Robert Gibbon) | |||
skipping to change at line 89 | skipping to change at line 87 | |||
MAN7DIR=$(MANDIR)/man7 | MAN7DIR=$(MANDIR)/man7 | |||
MAN8DIR=$(MANDIR)/man8 | MAN8DIR=$(MANDIR)/man8 | |||
N2N_LIB=libn2n.a | N2N_LIB=libn2n.a | |||
N2N_OBJS=$(patsubst src/%.c, src/%.o, $(wildcard src/*.c)) | N2N_OBJS=$(patsubst src/%.c, src/%.o, $(wildcard src/*.c)) | |||
N2N_DEPS=$(wildcard include/*.h) $(wildcard src/*.c) Makefile | N2N_DEPS=$(wildcard include/*.h) $(wildcard src/*.c) Makefile | |||
# As source files pass the linter, they can be added here (If all the source | # As source files pass the linter, they can be added here (If all the source | |||
# is passing the linter tests, this can be refactored) | # is passing the linter tests, this can be refactored) | |||
LINT_CCODE=\ | LINT_CCODE=\ | |||
include/curve25519.h \ | ||||
include/edge_utils_win32.h \ | include/edge_utils_win32.h \ | |||
include/header_encryption.h \ | ||||
include/hexdump.h \ | ||||
include/n2n_define.h \ | include/n2n_define.h \ | |||
include/n2n_wire.h \ | ||||
include/network_traffic_filter.h \ | ||||
include/pearson.h \ | include/pearson.h \ | |||
include/random_numbers.h \ | ||||
include/sn_selection.h \ | ||||
include/speck.h \ | include/speck.h \ | |||
include/tf.h \ | ||||
src/edge_management.c \ | ||||
src/edge_utils_win32.c \ | src/edge_utils_win32.c \ | |||
src/example_edge_embed_quick_edge_init.c \ | src/example_edge_embed_quick_edge_init.c \ | |||
src/header_encryption.c \ | src/header_encryption.c \ | |||
src/sn_management.c \ | ||||
src/sn_selection.c \ | src/sn_selection.c \ | |||
src/transform_cc20.c \ | src/transform_cc20.c \ | |||
src/transform_null.c \ | ||||
src/tuntap_freebsd.c \ | ||||
src/tuntap_linux.c \ | src/tuntap_linux.c \ | |||
src/tuntap_netbsd.c \ | ||||
src/tuntap_osx.c \ | ||||
src/wire.c \ | src/wire.c \ | |||
tools/tests-auth.c \ | ||||
tools/tests-compress.c \ | tools/tests-compress.c \ | |||
tools/tests-elliptic.c \ | tools/tests-elliptic.c \ | |||
tools/tests-hashing.c \ | tools/tests-hashing.c \ | |||
tools/tests-transform.c \ | tools/tests-transform.c \ | |||
tools/tests-wire.c \ | tools/tests-wire.c \ | |||
export LDLIBS | export LDLIBS | |||
LDLIBS+=-ln2n | LDLIBS+=-ln2n | |||
LDLIBS+=@N2N_LIBS@ | LDLIBS+=@N2N_LIBS@ | |||
skipping to change at line 150 | skipping to change at line 163 | |||
libzstd-dev \ | libzstd-dev \ | |||
shellcheck \ | shellcheck \ | |||
uncrustify \ | uncrustify \ | |||
yamllint \ | yamllint \ | |||
SUBDIRS+=tools | SUBDIRS+=tools | |||
COVERAGEDIR?=coverage | COVERAGEDIR?=coverage | |||
.PHONY: $(SUBDIRS) | .PHONY: $(SUBDIRS) | |||
.PHONY: steps build push all clean distclean install test cover gcov build-dep | ||||
.PHONY: lint lint.python lint.ccode lint.shell lint.yaml | ||||
all: $(APPS) $(DOCS) $(SUBDIRS) | .PHONY: all | |||
all: version $(APPS) $(DOCS) $(SUBDIRS) | ||||
# This allows breaking the build if the version.sh script discovers | ||||
# any inconsistancies | ||||
.PHONY: version | ||||
version: | ||||
@echo -n "Build for version: " | ||||
@scripts/version.sh | ||||
tools: $(N2N_LIB) | tools: $(N2N_LIB) | |||
$(MAKE) -C $@ | $(MAKE) -C $@ | |||
win32: | win32: | |||
$(MAKE) -C $@ | $(MAKE) -C $@ | |||
src/edge.o: $(N2N_DEPS) | src/edge.o: $(N2N_DEPS) | |||
src/supernode.o: $(N2N_DEPS) | src/supernode.o: $(N2N_DEPS) | |||
src/example_edge_embed_quick_edge_init.o: $(N2N_DEPS) | src/example_edge_embed_quick_edge_init.o: $(N2N_DEPS) | |||
skipping to change at line 185 | skipping to change at line 204 | |||
%.gz : % | %.gz : % | |||
gzip -c $< > $@ | gzip -c $< > $@ | |||
$(N2N_LIB): $(N2N_OBJS) | $(N2N_LIB): $(N2N_OBJS) | |||
$(AR) rcs $(N2N_LIB) $(N2N_OBJS) | $(AR) rcs $(N2N_LIB) $(N2N_OBJS) | |||
# $(RANLIB) $@ | # $(RANLIB) $@ | |||
win32/n2n_win32.a: win32 | win32/n2n_win32.a: win32 | |||
test: tools | .PHONY: test test.units test.integration | |||
scripts/test_harness.sh | test: test.units test.integration | |||
test.units: tools | ||||
scripts/test_harness.sh tests/tests_units.list | ||||
test.integration: $(APPS) | ||||
scripts/test_harness.sh tests/tests_integration.list | ||||
.PHONY: lint lint.python lint.ccode lint.shell lint.yaml | ||||
lint: lint.python lint.ccode lint.shell lint.yaml | lint: lint.python lint.ccode lint.shell lint.yaml | |||
lint.python: | lint.python: | |||
flake8 scripts/n2n-ctl scripts/n2n-httpd | flake8 scripts/n2n-ctl scripts/n2n-httpd | |||
lint.ccode: | lint.ccode: | |||
scripts/indent.sh $(LINT_CCODE) | scripts/indent.sh $(LINT_CCODE) | |||
lint.shell: | lint.shell: | |||
shellcheck scripts/*.sh | shellcheck scripts/*.sh | |||
lint.yaml: | lint.yaml: | |||
yamllint . | yamllint . | |||
# To generate coverage information, run configure with | # To generate coverage information, run configure with | |||
# CFLAGS="-fprofile-arcs -ftest-coverage" LDFLAGS="--coverage" | # CFLAGS="-fprofile-arcs -ftest-coverage" LDFLAGS="--coverage" | |||
# and run the desired tests. Ensure that package gcovr is installed | # and run the desired tests. Ensure that package gcovr is installed | |||
# and then run "make cover" | # and then run "make cover" | |||
.PHONY: cover | ||||
cover: | cover: | |||
mkdir -p $(COVERAGEDIR) | mkdir -p $(COVERAGEDIR) | |||
gcovr -s --html --html-details --output=$(COVERAGEDIR)/index.html | gcovr -s --html --html-details --output=$(COVERAGEDIR)/index.html | |||
# Use coverage data to generate gcov text report files. | # Use coverage data to generate gcov text report files. | |||
# Unfortunately, these end up in the wrong directory due to the | # Unfortunately, these end up in the wrong directory due to the | |||
# makefile layout | # makefile layout | |||
# The steps to use this are similar to the "make cover" above | # The steps to use this are similar to the "make cover" above | |||
.PHONY: gcov | ||||
gcov: | gcov: | |||
gcov $(N2N_OBJS) | gcov $(N2N_OBJS) | |||
$(MAKE) -C tools gcov | $(MAKE) -C tools gcov | |||
# This is a convinent target to use during development or from a CI/CD system | # This is a convinent target to use during development or from a CI/CD system | |||
.PHONY: build-dep | ||||
build-dep: | build-dep: | |||
ifeq ($(CONFIG_TARGET),generic) | ifeq ($(CONFIG_TARGET),generic) | |||
sudo apt install $(BUILD_DEP) | sudo apt install $(BUILD_DEP) | |||
else ifeq ($(CONFIG_TARGET),darwin) | else ifeq ($(CONFIG_TARGET),darwin) | |||
brew install automake gcovr | brew install automake gcovr | |||
else | else | |||
echo Not attempting to install dependancies for system $(CONFIG_TARGET) | echo Not attempting to install dependancies for system $(CONFIG_TARGET) | |||
endif | endif | |||
.PHONY: clean | ||||
clean: | clean: | |||
rm -rf $(N2N_OBJS) $(N2N_LIB) $(APPS) $(DOCS) $(COVERAGEDIR)/ *.dSYM *~ | rm -rf $(N2N_OBJS) $(N2N_LIB) $(APPS) $(DOCS) $(COVERAGEDIR)/ *.dSYM *~ | |||
rm -f tests/*.out src/*.gcno src/*.gcda | rm -f tests/*.out src/*.gcno src/*.gcda | |||
for dir in $(SUBDIRS); do $(MAKE) -C $$dir clean; done | for dir in $(SUBDIRS); do $(MAKE) -C $$dir clean; done | |||
.PHONY: distclean | ||||
distclean: | distclean: | |||
rm -f tests/*.out src/*.gcno src/*.gcda src/*.indent src/*.unc-backup* | rm -f tests/*.out src/*.gcno src/*.gcda src/*.indent src/*.unc-backup* | |||
rm -rf autom4te.cache/ | rm -rf autom4te.cache/ | |||
rm -f config.log config.status configure configure.ac Makefile tools/Make file include/config.h include/config.h.in | rm -f config.log config.status configure Makefile tools/Makefile include/ config.h include/config.h.in | |||
rm -f doc/edge.8.gz doc/n2n.7.gz doc/supernode.1.gz | rm -f doc/edge.8.gz doc/n2n.7.gz doc/supernode.1.gz | |||
rm -f packages/debian/config.log packages/debian/config.status | ||||
rm -rf packages/debian/autom4te.cache/ | ||||
rm -f packages/rpm/config.log packages/rpm/config.status | ||||
rm -f $(addprefix src/,$(APPS)) | rm -f $(addprefix src/,$(APPS)) | |||
.PHONY: install | ||||
install: edge supernode edge.8.gz supernode.1.gz n2n.7.gz | install: edge supernode edge.8.gz supernode.1.gz n2n.7.gz | |||
echo "MANDIR=$(MANDIR)" | echo "MANDIR=$(MANDIR)" | |||
$(MKDIR) $(SBINDIR) $(MAN1DIR) $(MAN7DIR) $(MAN8DIR) | $(MKDIR) $(SBINDIR) $(MAN1DIR) $(MAN7DIR) $(MAN8DIR) | |||
$(INSTALL_PROG) supernode $(SBINDIR)/ | $(INSTALL_PROG) supernode $(SBINDIR)/ | |||
$(INSTALL_PROG) edge $(SBINDIR)/ | $(INSTALL_PROG) edge $(SBINDIR)/ | |||
$(INSTALL_DOC) edge.8.gz $(MAN8DIR)/ | $(INSTALL_DOC) edge.8.gz $(MAN8DIR)/ | |||
$(INSTALL_DOC) supernode.1.gz $(MAN1DIR)/ | $(INSTALL_DOC) supernode.1.gz $(MAN1DIR)/ | |||
$(INSTALL_DOC) n2n.7.gz $(MAN7DIR)/ | $(INSTALL_DOC) n2n.7.gz $(MAN7DIR)/ | |||
$(MAKE) -C tools install SBINDIR=$(abspath $(SBINDIR)) | $(MAKE) -C tools install SBINDIR=$(abspath $(SBINDIR)) | |||
# Docker builder section | # Docker builder section | |||
DOCKER_IMAGE_NAME=ntop/supernode | DOCKER_IMAGE_NAME=ntop/supernode | |||
DOCKER_IMAGE_VERSION=$N2N_VERSION_SHORT | DOCKER_IMAGE_VERSION=$N2N_VERSION_SHORT | |||
N2N_COMMIT_HASH=@GIT_REVISION@ | N2N_COMMIT_HASH=$(shell scripts/version.sh hash) | |||
.PHONY: default steps build push | ||||
default: steps | default: steps | |||
steps: | steps: | |||
$(info This code appears to have been bitrotted since 2019 - please let u s know if you are using it) | ||||
if [ "$(TARGET_ARCHITECTURE)" = "arm32v7" ] || [ "$(TARGET_ARCHITECTURE)" = "" ]; then DOCKER_IMAGE_FILENAME="Dockerfile.arm32v7" DOCKER_IMAGE_TAGNAME=$( DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_VERSION)-arm32v7 make build; fi | if [ "$(TARGET_ARCHITECTURE)" = "arm32v7" ] || [ "$(TARGET_ARCHITECTURE)" = "" ]; then DOCKER_IMAGE_FILENAME="Dockerfile.arm32v7" DOCKER_IMAGE_TAGNAME=$( DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_VERSION)-arm32v7 make build; fi | |||
if [ "$(TARGET_ARCHITECTURE)" = "x86_64" ] || [ "$(TARGET_ARCHITECTURE)" = "" ]; then DOCKER_IMAGE_FILENAME="Dockerfile.x86_64" DOCKER_IMAGE_TAGNAME=$(DO CKER_IMAGE_NAME):$(DOCKER_IMAGE_VERSION)-x86_64 make build; fi | if [ "$(TARGET_ARCHITECTURE)" = "x86_64" ] || [ "$(TARGET_ARCHITECTURE)" = "" ]; then DOCKER_IMAGE_FILENAME="Dockerfile.x86_64" DOCKER_IMAGE_TAGNAME=$(DO CKER_IMAGE_NAME):$(DOCKER_IMAGE_VERSION)-x86_64 make build; fi | |||
build: | build: | |||
$(eval OS := $(shell uname -s)) | $(eval OS := $(shell uname -s)) | |||
$(eval ARCHITECTURE := $(shell export DOCKER_IMAGE_TAGNAME="$(DOCKER_IMAG E_TAGNAME)"; echo $$DOCKER_IMAGE_TAGNAME | grep -oe -.*)) | $(eval ARCHITECTURE := $(shell export DOCKER_IMAGE_TAGNAME="$(DOCKER_IMAG E_TAGNAME)"; echo $$DOCKER_IMAGE_TAGNAME | grep -oe -.*)) | |||
docker build --target builder --build-arg COMMIT_HASH=$(N2N_COMMIT_HASH) -t $(DOCKER_IMAGE_TAGNAME) -f image-platforms/$(DOCKER_IMAGE_FILENAME) . | docker build --target builder --build-arg COMMIT_HASH=$(N2N_COMMIT_HASH) -t $(DOCKER_IMAGE_TAGNAME) -f image-platforms/$(DOCKER_IMAGE_FILENAME) . | |||
docker container create --name builder $(DOCKER_IMAGE_TAGNAME) | docker container create --name builder $(DOCKER_IMAGE_TAGNAME) | |||
End of changes. 25 change blocks. | ||||
10 lines changed or deleted | 47 lines changed or added |