]>
Commit | Line | Data |
---|---|---|
54fb3a5e MT |
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 | ||
235217d2 MT |
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 | ||
54fb3a5e MT |
52 | define __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 | |
56 | endef | |
57 | ||
58 | define DO_INSTALL_DEFAULT | |
59 | $(foreach file,$(PKG_DEFAULT_FILES),$(call __INSTALL_DEFAULT,$(file))) | |
60 | endef | |
61 | ||
03c73156 MT |
62 | define __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 | |
66 | endef | |
67 | ||
03c73156 MT |
68 | define DO_INSTALL_SYSTEMD |
69 | $(foreach file,$(PKG_SYSTEMD_FILES),$(call __INSTALL_SYSTEMD,$(file))) | |
54fb3a5e MT |
70 | endef |
71 | ||
d3d5a421 SS |
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 | ||
54fb3a5e MT |
82 | define __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 | |
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 | |
235217d2 | 93 | @find $(BUILDROOT) -name "*.py" | xargs $(BUILD_TOOLS)/py-compile |
54fb3a5e MT |
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) | |
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) | |
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) && \ | |
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 |