]> git.ipfire.org Git - ipfire-3.x.git/blame - pkgs/build-essentials/buildsystem/Functions
avahi: Update to 0.6.30.
[ipfire-3.x.git] / pkgs / build-essentials / buildsystem / Functions
CommitLineData
54fb3a5e
MT
1
2###############################################################################
3#
4# Function definitions of the naoki build system
5#
6###############################################################################
7
8include $(PKGROOT)/gmsl
9
10DO_PACKAGE_FILENAME = $(1)$(call DO_PKG_SUFFIX,$(1))
11
12DO_PKG_SUFFIX = \
13 -$(if $(PKG_VER-$(1)),$(PKG_VER-$(1)),$(PKG_VER))-$(DISTRO_SNAME)$(DISTRO_EPOCH)-$(PKG_ARCH).$(if $(PKG_REL-$(1)),$(PKG_REL-$(1)),$(PKG_REL)).ipk
14
15define DO_INIT
16 # Run ldconfig
17 ldconfig
18endef
19
20define DO_PACKAGE
21 @echo "#####################################################################"
22 @echo "# $(1) - Package build started"
23 @echo "#####################################################################"
24
25 @$(foreach var,$(PKG_VARIABLES),$(if $($(var)-$(1)),$(var)="$(strip $($(var)-$(1)))",$(var)="$(strip $($(var)))")) \
26 $(DIR_TOOLS)/packager $(1) $(DIR_PACKAGES)/$(call DO_PACKAGE_FILENAME,$(1))
27
28 @echo "#####################################################################"
29 @echo "# $(1) - Package build finished"
30 @echo "#####################################################################"
31
32endef
33
34define DO_FILELIST
35 @echo "# Filelist dump"
36 @cd $(BUILDROOT) && find -ls
37endef
38
235217d2
MT
39define DO_PACKAGE_VARIABLE
40 @echo $(if $($(1)-$(2)),$(1)="\"$(strip $($(1)-$(2)))\"",$(1)="\"$(strip $($(1)))\"")
41
42endef
43
44define DO_PACKAGE_INFO
45 @echo "PKG_NAME=\"$(1)\""
46 $(foreach var,$(PKG_VARIABLES),$(call DO_PACKAGE_VARIABLE,$(var),$(1)))
47
48 @echo
49
50endef
51
54fb3a5e
MT
52define __INSTALL_DEFAULT
53 -mkdir -pv $(BUILDROOT)/etc/default
d51f073b 54 cd $(DIR_APP) && cp -vf $(1) $(BUILDROOT)/etc/default/$(subst .default,,$(notdir $(1)))
54fb3a5e
MT
55
56endef
57
58define DO_INSTALL_DEFAULT
59 $(foreach file,$(PKG_DEFAULT_FILES),$(call __INSTALL_DEFAULT,$(file)))
60endef
61
03c73156
MT
62define __INSTALL_SYSTEMD
63 -mkdir -pv $(BUILDROOT)$(SYSTEMD_UNIT_DIR)
64 cd $(DIR_APP) && cp -vf $(1) $(BUILDROOT)$(SYSTEMD_UNIT_DIR)/$(notdir $(1))
54fb3a5e
MT
65
66endef
67
03c73156
MT
68define DO_INSTALL_SYSTEMD
69 $(foreach file,$(PKG_SYSTEMD_FILES),$(call __INSTALL_SYSTEMD,$(file)))
54fb3a5e
MT
70endef
71
d3d5a421
SS
72define __INSTALL_SYSTEMD_TMPFILES
73 -mkdir -pv $(BUILDROOT)$(SYSTEMD_TMPFILES_DIR)
74 cd $(DIR_APP) && cp -vf $(1) $(BUILDROOT)$(SYSTEMD_TMPFILES_DIR)/$(subst .tmpfiles,.conf,$(notdir $(1)))
75
76endef
77
78define DO_INSTALL_SYSTEMD_TMPFILES
79 $(foreach file,$(PKG_SYSTEMD_TMPFILES),$(call __INSTALL_SYSTEMD_TMPFILES,$(file)))
80endef
81
54fb3a5e
MT
82define __INSTALL_PAM
83 -mkdir -pv $(BUILDROOT)/etc/pam.d
d51f073b 84 cd $(DIR_APP) && cp -vf $(1) $(BUILDROOT)/etc/pam.d/$(subst .pam,,$(notdir $(1)))
54fb3a5e
MT
85
86endef
87
88define DO_INSTALL_PAM
89 $(foreach file,$(PKG_PAM_FILES),$(call __INSTALL_PAM,$(file)))
90endef
91
92define DO_PYTHON_COMPILE
235217d2 93 @find $(BUILDROOT) -name "*.py" | xargs $(BUILD_TOOLS)/py-compile
54fb3a5e
MT
94endef
95
96define DO_FIX_LIBTOOL
97 # remove rpath from libtool
98 @if [ -e "libtool" ]; then \
99 sed -i libtool \
100 -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
101 -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g'; \
102 fi
103endef
104
105define DO_PREPARE
106 # Initialize the environment at the beginning
107 $(DO_INIT)
108
109 @echo "#####################################################################"
110 @echo "# $(PKG_NAME) - Preparation started"
111 @echo "#####################################################################"
112
113 $(STAGE_PREPARE)
114
115 @echo "#####################################################################"
116 @echo "# $(PKG_NAME) - Preparation finished"
117 @echo "#####################################################################"
118endef
119
120define DO_BUILD
121 @echo "#####################################################################"
122 @echo "# $(PKG_NAME) - Build started"
123 @echo "#####################################################################"
124
125 $(STAGE_BUILD)
126
127 @echo "#####################################################################"
128 @echo "# $(PKG_NAME) - Build finished"
129 @echo "#####################################################################"
130endef
131
132define DO_TEST
133 @echo "#####################################################################"
134 @echo "# $(PKG_NAME) - Test started"
135 @echo "#####################################################################"
136
137 $(STAGE_TEST)
138
139 @echo "#####################################################################"
140 @echo "# $(PKG_NAME) - Test finished"
141 @echo "#####################################################################"
142endef
143
144define DO_INSTALL
145 @echo "#####################################################################"
146 @echo "# $(PKG_NAME) - Install started"
147 @echo "#####################################################################"
148
149 -mkdir -pv $(BUILDROOT)
150
151 $(STAGE_INSTALL)
152
153 $(DO_INSTALL_DEFAULT)
03c73156 154 $(DO_INSTALL_SYSTEMD)
d3d5a421 155 $(DO_INSTALL_SYSTEMD_TMPFILES)
54fb3a5e
MT
156 $(DO_INSTALL_PAM)
157
54fb3a5e
MT
158 @echo "#####################################################################"
159 @echo "# $(PKG_NAME) - Install finished"
160 @echo "#####################################################################"
161
6ea175e4
MT
162 $(DO_STRIP)
163 $(DO_PYTHON_COMPILE)
164
165 $(STAGE_INSTALL_POST)
166
54fb3a5e
MT
167 $(DO_QUALITY_AGENT)
168 $(DO_FILELIST)
169endef
170
171STAGE_PACKAGE_TARGETS = $(call reverse,$(PKG_PACKAGES_FILES))
172STAGE_DONE = $(ROOT)/.done
173
174define STAGE_PREPARE
175 $(if $(PKG_TARBALL),cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(PKG_TARBALL))
176
177 $(if $(PKG_PATCHES),$(DO_PATCHES))
178
179 $(STAGE_PREPARE_CMDS)
180 $(STAGE_PREPARE_CMDS2)
181endef
182
183STAGE_BUILD_TARGETS =
184
185define STAGE_BUILD
814a60a3 186 cd $(DIR_APP) && [ ! -e "configure" ] || \
54fb3a5e
MT
187 $(CONFIGURE_ENVIRONMENT) \
188 ./configure \
189 $(CONFIGURE_OPTIONS)
190
191 $(DO_FIX_LIBTOOL)
192 $(STAGE_CONFIGURE_CMDS)
193
194 cd $(DIR_APP) && make $(STAGE_BUILD_TARGETS) $(PARALLELISMFLAGS)
195 $(STAGE_BUILD_CMDS)
196endef
197
198STAGE_INSTALL_TARGETS = install
199
200define STAGE_INSTALL
201 cd $(DIR_APP) && make $(STAGE_INSTALL_TARGETS) DESTDIR=$(BUILDROOT)
202
203 $(STAGE_INSTALL_CMDS)
204endef