OSDN Git Service

2013.10.24
[uclinux-h8/uClinux-dist.git] / vendors / config / config.dev
1 #
2 #       config.devices - Common build instructions for devices
3 #
4
5 #
6 # We build up a list of device node names in DEVICES
7 # We then iterate through this list creating files with names that
8 # will be properly converted to device nodes in the file system.
9 #
10 # We also supply a list of flash device names in FLASH_DEVICES and these
11 # are automatically prepended with the flash/ directory prefix and set
12 # to system permissions.
13 #
14 # In addition to just a list of device names, we can also accept some command
15 # line options which allow us to alter the permissions on the created file.
16 # We have options to alter the group as well, but the chgrp command will
17 # fail in all liklihood.  Finally there is the reset option which reverts
18 # permissions back to their pre-permissions days of 644 and reverts the group
19 # back to root.
20 #
21
22 SUDO ?= sudo -p "Enter root password for building dev nodes : "
23
24 # Some shorthand device permission setups
25 DEVICE_PUBLIC=          -group=root     -mode=0666
26 DEVICE_PRIVATE=         -group=root     -mode=0600
27 DEVICE_SYSTEM=          -group=root     -mode=0660
28 DEVICE_KMEM=            -group=kmem     -mode=0640
29 DEVICE_TTY=             -group=tty      -mode=0666
30 DEVICE_CONS=            -group=tty      -mode=0600
31 DEVICE_DIALOUT=         -group=dialout  -mode=0660
32 DEVICE_DIP=             -group=dip      -mode=0660
33 DEVICE_MOUSE=           -group=root     -mode=0660
34 DEVICE_PRINTER=         -group=lp       -mode=0660
35 DEVICE_FLOPPY=          -group=floppy   -mode=0660
36 DEVICE_DISK=            -group=disk     -mode=0660
37 DEVICE_SCSI=            -group=root     -mode=0600
38 DEVICE_CDROM=           -group=cdrom    -mode=0660
39 DEVICE_TAPE=            -group=tape     -mode=0660
40 DEVICE_AUDIO=           -group=audio    -mode=0660
41 DEVICE_VIDEO=           -group=video    -mode=0660
42 DEVICE_IBCS2=           -group=root     -mode=0666
43 DEVICE_SCANNER=         -group=root     -mode=0666
44 DEVICE_CODA=            -group=root     -mode=0600
45 DEVICE_IPSEC=           -group=root     -mode=0200
46 DEVICE_READABLE=        -group=root     -mode=0444
47 DEVICE_PRIVREAD=        -group=root     -mode=0644
48 DEVICE_CRYPTO=          -group=crypto   -mode=0666
49 DEVICE_PTY=             -group=tty      -mode=0620
50 DEVICE_TUN=             -group=root     -mode=0700
51 DEVICE_INPUT=           -group=root     -mode=0640
52
53 ifeq ($(filter-out linux-2.0%, $(LINUXDIR)),)
54         DEVICES += $(DEVICE_CONS) console,c,4,0
55 else
56         DEVICES += $(DEVICE_CONS) console,c,5,1
57         DEVICES_UDEV += $(DEVICES_CONS) console,c,5,1
58 endif
59
60 ifdef CONFIG_IXP400_LIB
61         DEVICES += $(DEVICE_SYSTEM) \
62                 ixNpe,c,241,0
63         DEVICES_UDEV += $(DEVICE_SYSTEM) \
64                 ixNpe,c,241,0   
65 endif
66
67 ifneq ($(CONFIG_SNAPDOG)$(CONFIG_WATCHDOG),)
68         DEVICES += $(DEVICE_CRYPTO) watchdog,c,10,130
69         DEVICES_UDEV += $(DEVICE_CRYPTO) watchdog,c,10,130
70 endif
71
72 ifdef CONFIG_LEDMAN
73         DEVICES += $(DEVICE_PRIVATE) ledman,c,126,0
74         DEVICES_UDEV += $(DEVICE_PRIVATE) ledman,c,126,0
75 endif
76
77 ifdef CONFIG_SNAPSPI
78         DEVICES += $(DEVICE_CRYPTO) spi,c,10,135
79 endif
80
81 ifdef CONFIG_INPUT
82         DEVICES += $(DEVICE_INPUT) \
83                 input/event0,c,13,64    input/event1,c,13,65 \
84                 input/event2,c,13,66    input/event3,c,13,67
85 endif
86
87 # Devices which use LILO to build need HDD nodes not managed by
88 # udev (since during build it runs with init=lilo)
89 ifdef CONFIG_USER_LILO_LILO
90         DEVICES_UDEV += $(DEVICE_DISK) \
91                 hda,b,3,0 \
92                 hda1,b,3,1      hda2,b,3,2      hda3,b,3,3      hda4,b,3,4
93         DEVICES_UDEV += $(DEVICE_DISK) \
94                 sda,b,8,0       sda1,b,8,1      sda2,b,8,2
95 endif
96
97 # This concludes the list of device nodes we need to create for udev.
98 # These will only get created if /lib/udev/devices exist
99 DEVICES_UDEV += $(DEVICE_PUBLIC) null,c,1,3     zero,c,1,5
100
101 # Devices that are always present.
102 DEVICES += \
103         $(DEVICE_KMEM)          mem,c,1,1       kmem,c,1,2                      \
104         $(DEVICE_PUBLIC)        null,c,1,3      zero,c,1,5                      \
105         $(DEVICE_TTY)           tty,c,5,0
106
107 ifdef CONFIG_POOR_ENTROPY
108 DEVICES += $(DEVICE_PRIVREAD)   urandom,c,1,9    random,c,1,9
109 else
110 DEVICES += $(DEVICE_PRIVREAD)   urandom,c,1,9    random,c,1,8
111 endif
112
113 # Devices that depend on config options.
114 # Sorted by major/minor
115
116 ifdef CONFIG_BLK_DEV_RAM
117         DEVICES +=      $(DEVICE_KMEM) \
118                 ram0,b,1,0      ram1,b,1,1      ram2,b,1,2      ram3,b,1,3
119 endif
120
121 ifdef CONFIG_IDE
122         DEVICES +=      $(DEVICE_DISK) \
123                 hda,b,3,0 \
124                 hda1,b,3,1      hda2,b,3,2      hda3,b,3,3      hda4,b,3,4 \
125                 hdb,b,3,64 \
126                 hdb1,b,3,65     hdb2,b,3,66     hdb3,b,3,67     hdb4,b,3,68 \
127                 hdc,b,22,0 \
128                 hdc1,b,22,1     hdc2,b,22,2     hdc3,b,22,3     hdc4,b,22,4 \
129                 hdd,b,22,64 \
130                 hdd1,b,22,65    hdd2,b,22,66    hdd3,b,22,67    hdd4,b,22,68
131 endif
132
133 ifdef CONFIG_VT
134         DEVICES += $(DEVICE_CONS) \
135                 tty0,c,4,0      tty1,c,4,1      tty2,c,4,2      tty3,c,4,3
136 endif
137
138 ifneq ($(CONFIG_SERIAL)$(CONFIG_SERIAL_8250)$(CONFIG_SERIAL_KS8695)$(CONFIG_COLDFIRE_SERIAL)$(CONFIG_SERIAL_MCF),)
139         DEVICES += $(DEVICE_DIALOUT) \
140                 ttyS0,c,4,64    ttyS1,c,4,65 \
141                 cua0,c,5,64     cua1,c,5,65
142 endif
143
144 ifdef CONFIG_UNIX98_PTYS
145         DEVICES += $(DEVICE_TTY) ptmx,c,5,2
146 endif
147
148 ifdef CONFIG_BLK_DEV_SD
149         DEVICES += $(DEVICE_DISK) \
150                 sda,b,8,0       sda1,b,8,1      sda2,b,8,2 \
151                 sda3,b,8,3      sda4,b,8,4      sda5,b,8,5 \
152                 sda6,b,8,6      sda7,b,8,7      sda8,b,8,8 \
153                 sda9,b,8,9      sda10,b,8,10    sda11,b,8,11 \
154                 sdb,b,8,16      sdb1,b,8,17     sdb2,b,8,18 \
155                 sdb3,b,8,19     sdb4,b,8,20     sdb5,b,8,21 \
156                 sdc,b,8,32      sdc1,b,8,33     sdc2,b,8,34 \
157                 sdc3,b,8,35     sdc4,b,8,36     sdc5,b,8,37 \
158                 sdd,b,8,48      sdd1,b,8,49     sdd2,b,8,50 \
159                 sdd3,b,8,51     sdd4,b,8,52     sdd5,b,8,53 \
160                 sde,b,8,64      sde1,b,8,65     sde2,b,8,66 \
161                 sde3,b,8,67     sde4,b,8,68     sde5,b,8,69 \
162                 sdf,b,8,80      sdf1,b,8,81     sdf2,b,8,82 \
163                 sdf3,b,8,83     sdf4,b,8,84     sdf5,b,8,85
164 endif
165
166 ifdef CONFIG_OCF_OCF
167         DEVICES += $(DEVICE_CRYPTO) crypto,c,10,70
168 endif
169
170 ifneq ($(CONFIG_RTC_INTF_DEV)$(CONFIG_RTC_DRV_SH)$(CONFIG_RTC_DRV_DS1302),)
171         DEVICES += $(DEVICE_PRIVATE) rtc,c,254,0
172 else 
173 ifneq ($(CONFIG_RTC)$(CONFIG_M41T11M6)$(CONFIG_RTC_DRV_M41T11)$(CONFIG_NVRAM)$(CONFIG_SH_RTC),)
174         DEVICES += $(DEVICE_CRYPTO) rtc,c,10,135
175 endif
176 endif
177
178 ifdef CONFIG_TUN
179         DEVICES += $(DEVICE_TUN) net/tun,c,10,200
180 endif
181
182 ifdef CONFIG_SOUND_OSS
183         DEVICES += $(DEVICE_AUDIO) \
184                 mixer,c,14,0 \
185                 mixer1,c,14,16 \
186                 sequencer,c,14,1 \
187                 sequencer2,c,14,8 \
188                 music,c,14,8 \
189                 midi00,c,14,2 \
190                 midi01,c,14,18 \
191                 midi02,c,14,34 \
192                 midi03,c,14,50 \
193                 dsp,c,14,3 \
194                 dsp1,c,14,19 \
195                 dspleft,p,0,0 \
196                 dspright,p,0,0 \
197                 audio,c,14,4 \
198                 audio1,c,14,20 \
199                 sndstat,c,14,6
200 endif
201
202 ifneq ($(CONFIG_MODULES_CRYPTO_HIFN7901)$(CONFIG_MODULES_CRYPTO_HIFN7951)$(CONFIG_MODULES_CRYPTO_SAFENET),)
203         DEVICES += $(DEVICE_CRYPTO) hifn0,c,28,0
204 endif
205
206 ifdef CONFIG_BLK_DEV_BLKMEM
207         DEVICES += $(DEVICE_KMEM) \
208                 rom0,b,31,0     rom1,b,31,1 \
209                 rom2,b,31,2     rom3,b,31,3 \
210                 rom4,b,31,4     rom5,b,31,5 \
211                 rom6,b,31,6     rom7,b,31,7 \
212                 rom8,b,31,8     rom9,b,31,9
213 endif
214
215 ifneq ($(CONFIG_MTD_BLOCK)$(CONFIG_MTD_BLOCK_RO),)
216         DEVICES += $(DEVICE_KMEM) \
217                 mtdblock0,b,31,0 \
218                 mtdblock1,b,31,1 \
219                 mtdblock2,b,31,2 \
220                 mtdblock3,b,31,3 \
221                 mtdblock4,b,31,4 \
222                 mtdblock5,b,31,5 \
223                 mtdblock6,b,31,6 \
224                 mtdblock7,b,31,7 \
225                 mtdblock8,b,31,8 \
226                 mtdblock9,b,31,9
227 endif
228
229 ifdef CONFIG_IPSEC
230         DEVICES += $(DEVICE_IPSEC) ipsec,c,36,10
231 endif
232
233 ifdef CONFIG_MODULES_CRYPTO_SAFENET
234         DEVICES += $(DEVICE_CRYPTO) cryptic,c,44,0
235 endif
236
237 ifdef CONFIG_VIDEO_DEV
238         DEVICES += $(DEVICE_VIDEO) \
239                 video,c,81,0    video0,c,81,0   video1,c,81,1
240 endif
241
242 ifdef CONFIG_MTD_CHAR
243         DEVICES += $(DEVICE_KMEM) \
244                 mtd0,c,90,0     mtdr0,c,90,1 \
245                 mtd1,c,90,2     mtdr1,c,90,3 \
246                 mtd2,c,90,4     mtdr2,c,90,5 \
247                 mtd3,c,90,6     mtdr3,c,90,7 \
248                 mtd4,c,90,8     mtdr4,c,90,9 \
249                 mtd5,c,90,10    mtdr5,c,90,11 \
250                 mtd6,c,90,12    mtdr6,c,90,13 \
251                 mtd7,c,90,14    mtdr7,c,90,15 \
252                 mtd8,c,90,16    mtdr8,c,90,17 \
253                 mtd9,c,90,18    mtdr9,c,90,19
254 endif
255
256 ifdef CONFIG_NFTL
257         DEVICES += $(DEVICE_PUBLIC) \
258                 nftla,b,93,0 \
259                 nftla1,b,93,1   nftla2,b,93,2 \
260                 nftla3,b,93,3   nftla4,b,93,4
261 endif
262
263 ifdef CONFIG_BLK_DEV_LOOP
264         DEVICES += $(DEVICE_DISK) \
265                 loop0,b,7,0 \
266                 loop1,b,7,1 \
267                 loop2,b,7,2 \
268                 loop3,b,7,3 \
269                 loop4,b,7,4 \
270                 loop5,b,7,5 \
271                 loop6,b,7,6 \
272                 loop7,b,7,7
273 endif
274
275 ifdef CONFIG_PPP
276         DEVICES += $(DEVICE_DIP) ppp,c,108,0
277 endif
278
279 ifneq ($(CONFIG_PCMCIA_IVPN)$(CONFIG_PCMCIA_KS),)
280         DEVICES += $(DEVICE_SYSTEM) \
281                 io8,c,120,0     io16,c,120,1 \
282                 mem8,c,120,2    mem16,c,120,3 \
283                 attr8,c,120,4   attr16,c,120,5
284 endif
285
286 ifdef CONFIG_MODULES_LCD_LCDTXT
287         DEVICES += $(DEVICE_SYSTEM) \
288                 lcdtxt,c,120,0
289 endif
290 ifdef CONFIG_NEXCOMM_LCM
291         DEVICES += $(DEVICE_SYSTEM) \
292                 lcm,c,120,0
293 endif
294
295 ifdef CONFIG_MODULES_KEYPAD_KEYPAD
296         DEVICES += $(DEVICE_SYSTEM) \
297                 keypad,c,121,0
298 endif
299
300 ifdef CONFIG_MODULES_QTAB_SMARTREADER
301         DEVICES += $(DEVICE_SYSTEM) \
302                 cardpro0,c,125,0        cardpro1,c,125,1
303 endif
304
305 ifdef CONFIG_MODULES_SGIO
306         DEVICES += $(DEVICE_SYSTEM) \
307                 sgio,c,10,70
308 endif
309
310 ifdef CONFIG_XYMEM
311         DEVICES += $(DEVICE_KMEM) \
312                 xymem,c,127,0   xmem,c,127,1    ymem,c,127,2
313 endif
314
315 ifdef CONFIG_USB_ACM
316         DEVICES += $(DEVICE_TTY) \
317                 ttyACM0,c,166,0 ttyACM1,c,166,1 \
318                 ttyACM2,c,166,2 ttyACM3,c,166,3 \
319                 cuacm0,c,167,0  cuacm1,c,167,1 \
320                 cuacm2,c,167,2  cuacm3,c,167,3
321 endif
322
323 ifdef CONFIG_USB_SERIAL
324         DEVICES += $(DEVICE_TTY) \
325                 ttyUSB0,c,188,0 ttyUSB1,c,188,1 \
326                 ttyUSB2,c,188,2 ttyUSB3,c,188,3 \
327                 cuusb0,c,189,0  cuusb1,c,189,1 \
328                 cuusb2,c,189,2  cuusb3,c,189,3
329 endif
330
331 ifdef CONFIG_USB_PRINTER
332         DEVICES += $(DEVICE_PRINTER) \
333                 usblp0,c,180,0   usblp1,c,180,1 \
334                 usblp2,c,180,2   usblp3,c,180,3 \
335                 usblp4,c,180,4   usblp5,c,180,5 \
336                 usblp6,c,180,6   usblp7,c,180,7 \
337                 usblp8,c,180,8   usblp9,c,180,9 \
338                 usblp10,c,180,10 usblp11,c,180,11 \
339                 usblp12,c,180,12 usblp13,c,180,13 \
340                 usblp14,c,180,14 usblp15,c,180,15
341 endif
342
343 ifneq ($(CONFIG_SH_SCI)$(CONFIG_SERIAL_SH_SCI),)
344 ifdef CONFIG_SH_SCI_REVERSE
345         DEVICES += $(DEVICE_TTY) \
346                 ttyS0,c,204,9 \
347                 cua0,c,204,9    cua1,c,204,8 \
348                 ttySC0,c,204,8  ttySC1,c,204,9  ttySC2,c,204,10
349 else
350         DEVICES += $(DEVICE_TTY) \
351                 ttyS0,c,204,8   ttyS1,c,204,9 \
352                 cua0,c,204,8    cua1,c,204,9 \
353                 ttySC0,c,204,8  ttySC1,c,204,9  ttySC2,c,204,10
354 endif
355 endif
356
357 ifdef CONFIG_SERIAL_EP93XX
358         DEVICES += $(DEVICE_TTY) \
359                 ttyS0,c,204,17  ttyS1,c,204,16 \
360                 cua0,c,204,17   cua1,c,204,16 \
361                 ttyAM0,c,204,16 ttyAM1,c,204,17
362 endif
363 ifdef CONFIG_SERIAL_IMX
364         DEVICES += $(DEVICE_TTY) \
365                 ttymxc0,c,207,16 ttymxc1,c,207,17
366 endif
367
368 ifdef CONFIG_I2C_CHARDEV
369         DEVICES += $(DEVICE_PRIVATE) \
370                 i2c-0,c,89,0    i2c-1,c,89,1    i2c-2,c,89,2    i2c-3,c,89,3 \
371                 i2c-4,c,89,4    i2c-5,c,89,5    i2c-6,c,89,6    i2c-7,c,89,7
372 endif
373
374 ifdef CONFIG_IXP425_CODELET_DSPENG
375         DEVICES += $(DEVICE_SYSTEM) \
376                 ixDspCodeletModule,c,253,0
377 endif
378
379 ifneq ($(CONFIG_LINUXDIR),linux-2.6.x)
380 ifneq ($(CONFIG_LINUXDIR),linux-3.x)
381         NON_LINUX_2_6_X = yes
382 endif
383 endif
384
385 ifneq ($(CONFIG_LEGACY_PTYS)$(NON_LINUX_2_6_X),)
386 DEVICE_PTY_16 = $(DEVICE_PTY) \
387         ptyp0,c,2,0    ptyp1,c,2,1        ptyp2,c,2,2      ptyp3,c,2,3 \
388         ptyp4,c,2,4    ptyp5,c,2,5        ptyp6,c,2,6      ptyp7,c,2,7 \
389         ptyp8,c,2,8    ptyp9,c,2,9        ptypa,c,2,10     ptypb,c,2,11 \
390         ptypc,c,2,12   ptypd,c,2,13       ptype,c,2,14     ptypf,c,2,15 \
391         \
392         ttyp0,c,3,0    ttyp1,c,3,1        ttyp2,c,3,2      ttyp3,c,3,3 \
393         ttyp4,c,3,4    ttyp5,c,3,5        ttyp6,c,3,6      ttyp7,c,3,7 \
394         ttyp8,c,3,8    ttyp9,c,3,9        ttypa,c,3,10     ttypb,c,3,11 \
395         ttypc,c,3,12   ttypd,c,3,13       ttype,c,3,14     ttypf,c,3,15
396
397 DEVICE_PTY_32 = $(DEVICE_PTY_16) \
398         ptyq0,c,2,16   ptyq1,c,2,17       ptyq2,c,2,18     ptyq3,c,2,19 \
399         ptyq4,c,2,20   ptyq5,c,2,21       ptyq6,c,2,22     ptyq7,c,2,23 \
400         ptyq8,c,2,24   ptyq9,c,2,25       ptyqa,c,2,26     ptyqb,c,2,27 \
401         ptyqc,c,2,28   ptyqd,c,2,29       ptyqe,c,2,30     ptyqf,c,2,31 \
402         \
403         ttyq0,c,3,16   ttyq1,c,3,17       ttyq2,c,3,18     ttyq3,c,3,19 \
404         ttyq4,c,3,20   ttyq5,c,3,21       ttyq6,c,3,22     ttyq7,c,3,23 \
405         ttyq8,c,3,24   ttyq9,c,3,25       ttyqa,c,3,26     ttyqb,c,3,27 \
406         ttyqc,c,3,28   ttyqd,c,3,29       ttyqe,c,3,30     ttyqf,c,3,31
407
408 DEVICE_PTY_64 = $(DEVICE_PTY_32) \
409         ptyr0,c,2,32   ptyr1,c,2,33       ptyr2,c,2,34     ptyr3,c,2,35 \
410         ptyr4,c,2,36   ptyr5,c,2,37       ptyr6,c,2,38     ptyr7,c,2,39 \
411         ptyr8,c,2,40   ptyr9,c,2,41       ptyra,c,2,42     ptyrb,c,2,43 \
412         ptyrc,c,2,44   ptyrd,c,2,45       ptyre,c,2,46     ptyrf,c,2,47 \
413         \
414         ptys0,c,2,48   ptys1,c,2,49       ptys2,c,2,50     ptys3,c,2,51 \
415         ptys4,c,2,52   ptys5,c,2,53       ptys6,c,2,54     ptys7,c,2,55 \
416         ptys8,c,2,56   ptys9,c,2,57       ptysa,c,2,58     ptysb,c,2,59 \
417         ptysc,c,2,60   ptysd,c,2,61       ptyse,c,2,62     ptysf,c,2,63 \
418         \
419         ttyr0,c,3,32   ttyr1,c,3,33       ttyr2,c,3,34     ttyr3,c,3,35 \
420         ttyr4,c,3,36   ttyr5,c,3,37       ttyr6,c,3,38     ttyr7,c,3,39 \
421         ttyr8,c,3,40   ttyr9,c,3,41       ttyra,c,3,42     ttyrb,c,3,43 \
422         ttyrc,c,3,44   ttyrd,c,3,45       ttyre,c,3,46     ttyrf,c,3,47 \
423         \
424         ttys0,c,3,48   ttys1,c,3,49       ttys2,c,3,50     ttys3,c,3,51 \
425         ttys4,c,3,52   ttys5,c,3,53       ttys6,c,3,54     ttys7,c,3,55 \
426         ttys8,c,3,56   ttys9,c,3,57       ttysa,c,3,58     ttysb,c,3,59 \
427         ttysc,c,3,60   ttysd,c,3,61       ttyse,c,3,62     ttysf,c,3,63
428 endif
429
430
431 DEVICES += -reset
432
433
434 # MAKE_DIR macro, usage: MAKE_DIR dir
435 # MAKE_DEV_DIR makes a directory under /dev (or the appropriate udev dir)
436
437 MAKE_DIR =  [ -d $(ROMFSDIR)/$(1) ] || mkdir -p $(ROMFSDIR)/$(1)
438
439 ifdef CONFIG_USER_UDEV
440 MAKE_DEV_DIR = $(call MAKE_DIR,lib/udev/devices/$(1))
441 else
442 MAKE_DEV_DIR = $(call MAKE_DIR,dev/$(1))
443 endif
444
445 # Creating devices.
446 # If you can chgrp properly add "chgrp $$group $$node;" below the touch command
447
448 .PHONY: romfs_dirs
449 romfs_dirs:
450         $(call MAKE_DIR,dev)
451 ifdef CONFIG_USER_UDEV
452         $(call MAKE_DIR,lib/udev/devices)
453 endif
454 ifdef CONFIG_OPROFILE
455         $(call MAKE_DEV_DIR,oprofile)
456 endif
457
458 # a function var,  usage: MAKE_DEVICES sudo basedir devices
459
460 MAKE_DEVICES = \
461         for i in -reset $(3);   \
462         do                                                                      \
463                 case "$$i" in                                                   \
464                 -mode=*)        mode="`echo $$i | cut -f2 -d=`"  ;;     \
465                 -group=*)       group="`echo $$i | cut -f2 -d=`" ;;     \
466                 -reset)         mode=644;       group=root       ;;     \
467                 *)                                                      \
468                         n=`echo $$i | sed 's/=.*//g'` ;                         \
469                         d=`dirname $$n` ;                               \
470                         $(call MAKE_DIR,$(2)/$$d); \
471                         case "$$i" in \
472                         *,*) \
473                                 if [ '$(1)' ]; then \
474                                         node=$(ROMFSDIR)/$(2)/$$d/`basename $$i` ;      \
475                                         $(1) rm -f `echo $$node | sed 's/,.*//g'`* ; \
476                                         echo mknod `echo $$node | sed 's/,/ /g'`; \
477                                         $(1) mknod `echo $$node | sed 's/,/ /g'`; \
478                                         $(1) chmod $$mode `echo $$node | sed 's/,.*$$//g'`; \
479                                 else \
480                                         node=$(ROMFSDIR)/$(2)/$$d/@`basename $$i` ;     \
481                                         rm -f `echo $$node | sed 's/,.*//g'`* ; \
482                                         echo touching $$node; \
483                                         touch $$node;                                   \
484                                         chmod $$mode $$node;                            \
485                                 fi; \
486                                 ;; \
487                         *=*) \
488                                 l=`echo $$i | sed 's/.*=//g'` ;         \
489                                 $(LN) -s $$l $(ROMFSDIR)/$(2)/$$n; \
490                                 continue \
491                                 ;; \
492                         *) \
493                                 $(1) chmod $$mode `echo $$node | sed 's/,.*$$//g'`; \
494                                 continue ; \
495                                 ;; \
496                         esac; \
497                         ;; \
498                 esac ;                                                          \
499         done
500
501
502 .PHONY: romfs_dev
503 romfs_dev: romfs_dirs
504 ifdef CONFIG_USER_UDEV
505         $(ROMFSDIR)/../tools/build-udev-perms.sh $(DEVICES)
506         $(call MAKE_DEVICES,,dev,$(DEVICES_UDEV))
507         $(call MAKE_DEVICES,,lib/udev/devices,$(DEVICES_UDEV) $(DEVICES) $(DEVICE_SYSTEM) $(patsubst %,flash/%,$(FLASH_DEVICES)))
508 else
509         $(call MAKE_DEVICES,,dev,$(DEVICES) $(DEVICE_SYSTEM) $(patsubst %,flash/%,$(FLASH_DEVICES)))
510 endif
511
512 .PHONY: romfs_dev_sudo
513 romfs_dev_sudo: romfs_dirs
514 ifdef CONFIG_USER_UDEV
515         $(ROMFSDIR)/../tools/build-udev-perms.sh $(DEVICES)
516         $(call MAKE_DEVICES,$(SUDO),dev,$(DEVICES_UDEV))
517         $(call MAKE_DEVICES,$(SUDO),lib/udev/devices,$(DEVICES_UDEV) $(DEVICES) $(DEVICE_SYSTEM) $(patsubst %,flash/%,$(FLASH_DEVICES)))
518 else
519         $(call MAKE_DEVICES,$(SUDO),dev,$(DEVICES) $(DEVICE_SYSTEM) $(patsubst %,flash/%,$(FLASH_DEVICES)))
520 endif
521