1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
#
# Copyright (C) 2006,2007 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
all: $(if $(DUMP),dumpinfo,compile)
PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install
include $(INCLUDE_DIR)/prereq.mk
include $(INCLUDE_DIR)/host.mk
include $(INCLUDE_DIR)/unpack.mk
include $(INCLUDE_DIR)/depends.mk
STAMP_PREPARED:=$(PKG_BUILD_DIR)/.prepared$(if $(DUMP),,_$(shell find ${CURDIR} $(PKG_FILE_DEPEND) $(DEP_FINDPARAMS) | md5s))
STAMP_CONFIGURED:=$(PKG_BUILD_DIR)/.configured
STAMP_BUILT:=$(PKG_BUILD_DIR)/.built
include $(INCLUDE_DIR)/quilt.mk
include $(INCLUDE_DIR)/package-defaults.mk
include $(INCLUDE_DIR)/package-dumpinfo.mk
include $(INCLUDE_DIR)/package-ipkg.mk
export CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)
ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),)
ifneq ($(CONFIG_AUTOREBUILD),)
define Build/Autoclean
$(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED)
$(call rdep,${CURDIR} $(PKG_FILE_DEPEND),$(STAMP_PREPARED))
$(call rdep,$(PKG_BUILD_DIR),$(STAMP_BUILT),$(PKG_BUILD_DIR)/.dep_files, -and -not -path "/.*" -and -not -path "*/ipkg*")
endef
endif
endif
define Build/DefaultTargets
ifneq ($(strip $(PKG_SOURCE_URL)),)
download: $(DL_DIR)/$(PKG_SOURCE)
$(DL_DIR)/$(PKG_SOURCE):
mkdir -p $(DL_DIR)
$(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_SOURCE)" "$(PKG_MD5SUM)" $(PKG_SOURCE_URL)
$(STAMP_PREPARED): $(DL_DIR)/$(PKG_SOURCE)
endif
$(call Build/Autoclean)
$(STAMP_PREPARED):
@-rm -rf $(PKG_BUILD_DIR)
@mkdir -p $(PKG_BUILD_DIR)
$(Build/Prepare)
touch $$@
$(STAMP_CONFIGURED): $(STAMP_PREPARED)
$(Build/Configure)
touch $$@
$(STAMP_BUILT): $(STAMP_CONFIGURED)
$(Build/Compile)
@$(NO_TRACE_MAKE) $(PKG_BUILD_DIR)/.dep_files
touch $$@
ifdef Build/InstallDev
compile: $(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed
$(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed: $(STAMP_BUILT)
mkdir -p $(STAGING_DIR)/stampfiles
$(Build/InstallDev)
touch $$@
endif
define Build/DefaultTargets
endef
endef
define BuildPackage
$(eval $(Package/Default))
$(eval $(Package/$(1)))
# <HACK> Support obsolete DESCRIPTION field
ifndef Package/$(1)/description
define Package/$(1)/description
$(TITLE)$(subst \,
,\ $(DESCRIPTION))
endef
endif
# </HACK>
$(foreach FIELD, TITLE CATEGORY PRIORITY SECTION VERSION,
ifeq ($($(FIELD)),)
$$(error Package/$(1) is missing the $(FIELD) field)
endif
)
$(call shexport,Package/$(1)/description)
$(call shexport,Package/$(1)/config)
$(Dumpinfo)
$(BuildIPKG)
endef
define Build/Prepare
$(call Build/Prepare/Default,)
endef
define Build/Configure
$(call Build/Configure/Default,)
endef
define Build/Compile
$(call Build/Compile/Default,)
endef
$(PACKAGE_DIR):
mkdir -p $@
dumpinfo:
download:
prepare: $(STAMP_PREPARED)
configure: $(STAMP_CONFIGURED)
compile:
install:
clean: FORCE
$(Build/UninstallDev)
$(Build/Clean)
@rm -f $(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed
@rm -rf $(PKG_BUILD_DIR)
|