summaryrefslogtreecommitdiffstats
path: root/rules/mtd.make
blob: 61daaaac249ae43302bd6e6f14f4a31bd1bf347a (plain)
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# -*-makefile-*-
# $Id$
#
# Copyright (C) 2003 by Pengutronix e.K., Hildesheim, Germany
#          
# See CREDITS for details about who has contributed to this project.
#
# For further information about the PTXdist project and license conditions
# see the README file.
#

#
# We provide this package
#
PACKAGES-$(PTXCONF_MTD_UTILS) += mtd

#
# Paths and names
#
MTD_VERSION	= 20040621-1
MTD		= mtd-$(MTD_VERSION)
MTD_SUFFIX	= tar.gz
MTD_URL		= http://www.pengutronix.de/software/mtd-snapshots/$(MTD).$(MTD_SUFFIX)
MTD_SOURCE	= $(SRCDIR)/$(MTD).$(MTD_SUFFIX)
MTD_DIR		= $(BUILDDIR)/$(MTD)

-include $(call package_depfile)

# ----------------------------------------------------------------------------
# Get
# ----------------------------------------------------------------------------

mtd_get: $(STATEDIR)/mtd.get

mtd_get_deps = $(MTD_SOURCE)

$(STATEDIR)/mtd.get: $(mtd_get_deps)
	@$(call targetinfo, $@)
	@$(call get_patches, $(MTD))
	@$(call touch, $@)

$(MTD_SOURCE):
	@$(call targetinfo, $@)
	@$(call get, $(MTD_URL))

# ----------------------------------------------------------------------------
# Extract
# ----------------------------------------------------------------------------

mtd_extract: $(STATEDIR)/mtd.extract

mtd_extract_deps = $(STATEDIR)/mtd.get

$(STATEDIR)/mtd.extract: $(mtd_extract_deps)
	@$(call targetinfo, $@)
	@$(call clean, $(MTD_DIR))
	@$(call extract, $(MTD_SOURCE))
	@$(call patchin, $(MTD))
	@$(call touch, $@)

# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------

mtd_prepare: $(STATEDIR)/mtd.prepare

#
# dependencies
#
mtd_prepare_deps = \
	$(STATEDIR)/virtual-xchain.install \
	$(STATEDIR)/zlib.install \
	$(STATEDIR)/mtd.extract

MTD_PATH	= PATH=$(CROSS_PATH)
MTD_MAKEVARS	= CROSS=$(COMPILER_PREFIX)
MTD_ENV		= $(CROSS_ENV)

$(STATEDIR)/mtd.prepare: $(mtd_prepare_deps)
	@$(call targetinfo, $@)
	@$(call touch, $@)

# ----------------------------------------------------------------------------
# Compile
# ----------------------------------------------------------------------------

mtd_compile: $(STATEDIR)/mtd.compile

mtd_compile_deps = $(STATEDIR)/mtd.prepare

$(STATEDIR)/mtd.compile: $(mtd_compile_deps)
	@$(call targetinfo, $@)

ifdef PTXCONF_MTD_FLASH_ERASE
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make flash_erase $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_FLASH_ERASEALL
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make flash_eraseall $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_FLASH_INFO
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make flash_info $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_FLASH_LOCK
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make flash_lock $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_FLASH_UNLOCK
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make flash_unlock $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_FLASHCP
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make flashcp $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_FTL_CHECK
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make ftl_check $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_FTL_FORMAT
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make ftl_format $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_JFFS_DUMP
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make jffs-dump $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_JFFS2_DUMP
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make jffs2dump $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_JFFS2READER
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make jffs2reader $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_MTDDEBUG
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make mtd_debug $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_NANDDUMP
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make nanddump $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_NANDWRITE
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make nandwrite $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_NFTL_FORMAT
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make nftl_format $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_NFTLDUMP
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make nftldump $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_MKJFFS
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make mkfs.jffs $(MTD_MAKEVARS)
endif
ifdef PTXCONF_MTD_MKJFFS2
	cd $(MTD_DIR)/util && $(MTD_ENV) $(MTD_PATH) make mkfs.jffs2 $(MTD_MAKEVARS)
endif
	@$(call touch, $@)

# ----------------------------------------------------------------------------
# Install
# ----------------------------------------------------------------------------

mtd_install: $(STATEDIR)/mtd.install

$(STATEDIR)/mtd.install: $(STATEDIR)/mtd.compile
	@$(call targetinfo, $@)
	@$(call touch, $@)

# ----------------------------------------------------------------------------
# Target-Install
# ----------------------------------------------------------------------------

mtd_targetinstall: $(STATEDIR)/mtd.targetinstall

mtd_targetinstall_deps	=  $(STATEDIR)/mtd.compile
ifdef PTXCONF_MTD_MKJFFS
mtd_targetinstall_deps	+= $(STATEDIR)/zlib.targetinstall
endif
ifdef PTXCONF_MTD_MKJFFS2
mtd_targetinstall_deps	+= $(STATEDIR)/zlib.targetinstall
endif

$(STATEDIR)/mtd.targetinstall: $(mtd_targetinstall_deps)
	@$(call targetinfo, $@)

	@$(call install_init,default)
	@$(call install_fixup,PACKAGE,mtd)
	@$(call install_fixup,PRIORITY,optional)
	@$(call install_fixup,VERSION,$(subst -,,$(MTD_VERSION)))
	@$(call install_fixup,SECTION,base)
	@$(call install_fixup,AUTHOR,"Robert Schwebel <r.schwebel\@pengutronix.de>")
	@$(call install_fixup,DEPENDS,)
	@$(call install_fixup,DESCRIPTION,missing)

ifdef PTXCONF_MTD_FLASH_ERASE
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/flash_erase, /sbin/flash_erase)
endif
ifdef PTXCONF_MTD_FLASH_ERASEALL
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/flash_eraseall, /sbin/flash_eraseall)
endif
ifdef PTXCONF_MTD_FLASH_INFO
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/flash_info, /sbin/flash_info)
endif
ifdef PTXCONF_MTD_FLASH_LOCK
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/flash_lock, /sbin/flash_lock)
endif
ifdef PTXCONF_MTD_FLASH_UNLOCK
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/flash_unlock, /sbin/flash_unlock)
endif
ifdef PTXCONF_MTD_FLASHCP
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/flashcp, /sbin/flashcp)
endif
ifdef PTXCONF_MTD_FTL_CHECK
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/ftl_check, /sbin/ftl_check)
endif
ifdef PTXCONF_MTD_FTL_FORMAT
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/ftl_format, /sbin/ftl_format)
endif
ifdef PTXCONF_MTD_JFFS_DUMP
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/jffs-dump, /sbin/jffs-dump)
endif
ifdef PTXCONF_MTD_JFFS2_DUMP
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/jffs2dump, /sbin/jffs2dump)
endif
ifdef PTXCONF_MTD_JFFS2READER
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/jffs2reader, /sbin/jffs2reader)
endif
ifdef PTXCONF_MTD_MTDDEBUG
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/mtd_debug, /sbin/mtd_debug)
endif
ifdef PTXCONF_MTD_NANDDUMP
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/nanddump, /sbin/nanddump)
endif
ifdef PTXCONF_MTD_NANDWRITE
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/nandwrite, /sbin/nandwrite)
endif
ifdef PTXCONF_MTD_NFTL_FORMAT
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/nftl_format, /sbin/nftl_format)
endif
ifdef PTXCONF_MTD_NFTLDUMP
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/nftldump, /sbin/nftldump)
endif
ifdef PTXCONF_MTD_MKJFFS
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/mkfs.jffs, /sbin/mkfs.jffs)
endif
ifdef PTXCONF_MTD_MKJFFS2
	@$(call install_copy, 0, 0, 0755, $(MTD_DIR)/util/mkfs.jffs2, /sbin/mkfs.jffs2)
endif

	@$(call install_finish)

	@$(call touch, $@)

# ----------------------------------------------------------------------------
# Clean
# ----------------------------------------------------------------------------

mtd_clean:
	rm -rf $(STATEDIR)/mtd.*
	rm -rf $(IMAGEDIR)/mtd_*
	rm -rf $(MTD_DIR)

# vim: syntax=make