]> git.ipfire.org Git - people/arne_f/ipfire-3.x.git/blob - pkgs/build-essentials/buildsystem/Functions
avahi: Update to 0.6.30.
[people/arne_f/ipfire-3.x.git] / pkgs / build-essentials / buildsystem / Functions
1
2 ###############################################################################
3 #
4 # Function definitions of the naoki build system
5 #
6 ###############################################################################
7
8 include $(PKGROOT)/gmsl
9
10 DO_PACKAGE_FILENAME = $(1)$(call DO_PKG_SUFFIX,$(1))
11
12 DO_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
15 define DO_INIT
16 # Run ldconfig
17 ldconfig
18 endef
19
20 define 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
32 endef
33
34 define DO_FILELIST
35 @echo "# Filelist dump"
36 @cd $(BUILDROOT) && find -ls
37 endef
38
39 define DO_PACKAGE_VARIABLE
40 @echo $(if $($(1)-$(2)),$(1)="\"$(strip $($(1)-$(2)))\"",$(1)="\"$(strip $($(1)))\"")
41
42 endef
43
44 define DO_PACKAGE_INFO
45 @echo "PKG_NAME=\"$(1)\""
46 $(foreach var,$(PKG_VARIABLES),$(call DO_PACKAGE_VARIABLE,$(var),$(1)))
47
48 @echo
49
50 endef
51
52 define __INSTALL_DEFAULT
53 -mkdir -pv $(BUILDROOT)/etc/default
54 cd $(DIR_APP) && cp -vf $(1) $(BUILDROOT)/etc/default/$(subst .default,,$(notdir $(1)))
55
56 endef
57
58 define DO_INSTALL_DEFAULT
59 $(foreach file,$(PKG_DEFAULT_FILES),$(call __INSTALL_DEFAULT,$(file)))
60 endef
61
62 define __INSTALL_SYSTEMD
63 -mkdir -pv $(BUILDROOT)$(SYSTEMD_UNIT_DIR)
64 cd $(DIR_APP) && cp -vf $(1) $(BUILDROOT)$(SYSTEMD_UNIT_DIR)/$(notdir $(1))
65
66 endef
67
68 define DO_INSTALL_SYSTEMD
69 $(foreach file,$(PKG_SYSTEMD_FILES),$(call __INSTALL_SYSTEMD,$(file)))
70 endef
71
72 define __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
76 endef
77
78 define DO_INSTALL_SYSTEMD_TMPFILES
79 $(foreach file,$(PKG_SYSTEMD_TMPFILES),$(call __INSTALL_SYSTEMD_TMPFILES,$(file)))
80 endef
81
82 define __INSTALL_PAM
83 -mkdir -pv $(BUILDROOT)/etc/pam.d
84 cd $(DIR_APP) && cp -vf $(1) $(BUILDROOT)/etc/pam.d/$(subst .pam,,$(notdir $(1)))
85
86 endef
87
88 define DO_INSTALL_PAM
89 $(foreach file,$(PKG_PAM_FILES),$(call __INSTALL_PAM,$(file)))
90 endef
91
92 define DO_PYTHON_COMPILE
93 @find $(BUILDROOT) -name "*.py" | xargs $(BUILD_TOOLS)/py-compile
94 endef
95
96 define 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
103 endef
104
105 define 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 "#####################################################################"
118 endef
119
120 define 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 "#####################################################################"
130 endef
131
132 define 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 "#####################################################################"
142 endef
143
144 define 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)
154 $(DO_INSTALL_SYSTEMD)
155 $(DO_INSTALL_SYSTEMD_TMPFILES)
156 $(DO_INSTALL_PAM)
157
158 @echo "#####################################################################"
159 @echo "# $(PKG_NAME) - Install finished"
160 @echo "#####################################################################"
161
162 $(DO_STRIP)
163 $(DO_PYTHON_COMPILE)
164
165 $(STAGE_INSTALL_POST)
166
167 $(DO_QUALITY_AGENT)
168 $(DO_FILELIST)
169 endef
170
171 STAGE_PACKAGE_TARGETS = $(call reverse,$(PKG_PACKAGES_FILES))
172 STAGE_DONE = $(ROOT)/.done
173
174 define 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)
181 endef
182
183 STAGE_BUILD_TARGETS =
184
185 define STAGE_BUILD
186 cd $(DIR_APP) && [ ! -e "configure" ] || \
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)
196 endef
197
198 STAGE_INSTALL_TARGETS = install
199
200 define STAGE_INSTALL
201 cd $(DIR_APP) && make $(STAGE_INSTALL_TARGETS) DESTDIR=$(BUILDROOT)
202
203 $(STAGE_INSTALL_CMDS)
204 endef