]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - lfs/ninja
suricata: Change midstream policy to "pass-flow"
[people/pmueller/ipfire-2.x.git] / lfs / ninja
CommitLineData
f8c5644d
SS
1###############################################################################
2# #
3# IPFire.org - A linux based firewall #
673385e2 4# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
f8c5644d
SS
5# #
6# This program is free software: you can redistribute it and/or modify #
7# it under the terms of the GNU General Public License as published by #
8# the Free Software Foundation, either version 3 of the License, or #
9# (at your option) any later version. #
10# #
11# This program is distributed in the hope that it will be useful, #
12# but WITHOUT ANY WARRANTY; without even the implied warranty of #
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
14# GNU General Public License for more details. #
15# #
16# You should have received a copy of the GNU General Public License #
17# along with this program. If not, see <http://www.gnu.org/licenses/>. #
18# #
19###############################################################################
20
21###############################################################################
22# Definitions
23###############################################################################
24
25include Config
26
673385e2 27VER = 1.11.1
f8c5644d
SS
28
29THISAPP = ninja-$(VER)
30DL_FILE = $(THISAPP).tar.gz
31DL_FROM = $(URL_IPFIRE)
32DIR_APP = $(DIR_SRC)/$(THISAPP)
33TARGET = $(DIR_INFO)/$(THISAPP)
34
35###############################################################################
36# Top-level Rules
37###############################################################################
38
39objects = $(DL_FILE)
40
41$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
42
673385e2 43$(DL_FILE)_BLAKE2 = c96cf7c319b7abd65f644465688d256f8b3a576c4616d0c63852e25dd0dc5f63c66708d429d8dddb6228502eb147211a86a5dd369b80ec2228902b370d2343e5
f8c5644d
SS
44
45install : $(TARGET)
46
47check : $(patsubst %,$(DIR_CHK)/%,$(objects))
48
49download :$(patsubst %,$(DIR_DL)/%,$(objects))
50
9a7e4d85 51b2 : $(subst %,%_BLAKE2,$(objects))
f8c5644d
SS
52
53###############################################################################
9a7e4d85 54# Downloading, checking, b2sum
f8c5644d
SS
55###############################################################################
56
57$(patsubst %,$(DIR_CHK)/%,$(objects)) :
58 @$(CHECK)
59
60$(patsubst %,$(DIR_DL)/%,$(objects)) :
61 @$(LOAD)
62
9a7e4d85
PM
63$(subst %,%_BLAKE2,$(objects)) :
64 @$(B2SUM)
f8c5644d
SS
65
66###############################################################################
67# Installation Details
68###############################################################################
69
70$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
71 @$(PREBUILD)
72 @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
73
9c51467d
SS
74 # Allow to limit the paralell build processes ninja will do.
75 cd $(DIR_APP) && sed -i '/int Guess/a \
76 int j = 0;\
77 char* jobs = getenv( "NINJAJOBS" );\
78 if ( jobs != NULL ) j = atoi( jobs );\
79 if ( j > 0 ) return j;\
80 ' src/ninja.cc
81
f8c5644d
SS
82 # Configure and bootstrap the build environment
83 cd $(DIR_APP) && python3 configure.py --bootstrap --verbose
84
85 # Build ninja
66c36198 86 cd $(DIR_APP) && ./ninja -v all
f8c5644d
SS
87
88 # Install ninja.
89 cd $(DIR_APP) && install -vm755 ninja /usr/bin/
90
91 @rm -rf $(DIR_APP)
92 @$(POSTBUILD)