OSDN Git Service

2013.10.24
[uclinux-h8/uClinux-dist.git] / vendors / Hitachi / EDOSK2674 / Makefile
1 #
2 #       Makefile -- Build instructions for Hitachi/KeyWest
3 #
4
5 TFTPBOOT = /tftpboot
6 IMAGE    = $(IMAGEDIR)/edosk2674-image.bin
7 IMAGEZ   = $(IMAGEDIR)/edosk2674-imagez.bin
8 IMAGEB   = $(IMAGEDIR)/edosk2674-boot.mot
9 IMAGES   = $(IMAGEDIR)/edosk2674-boot+image.mot
10 BOOTBIN  = $(IMAGEDIR)/edosk2674-boot.bin
11 BOOT     = $(IMAGEDIR)/boot.elf
12
13 ROMFS_DIRS = bin dev/flash etc etc/config etc/default home lib mnt proc \
14                          usr var home/httpd home/httpd/cgi-bin etc/default
15
16 DEVICES = \
17         tty,c,5,0      console,c,5,1      cua0,c,5,64      cua1,c,5,65  \
18         mem,c,1,1      kmem,c,1,2         null,c,1,3 \
19         ram0,b,1,0     ram1,b,1,1         ram2,b,1,2 \
20         \
21         ptyp0,c,2,0    ptyp1,c,2,1        ptyp2,c,2,2      ptyp3,c,2,3 \
22         ptyp4,c,2,4    ptyp5,c,2,5        ptyp6,c,2,6      ptyp7,c,2,7 \
23         ptyp8,c,2,8    ptyp9,c,2,9        ptypa,c,2,10     ptypb,c,2,11 \
24         ptypc,c,2,12   ptypd,c,2,13       ptype,c,2,14     ptypf,c,2,15 \
25         \
26         rom0,b,31,0    rom1,b,31,1        rom2,b,31,2      rom3,b,31,3 \
27         rom4,b,31,4    rom5,b,31,5        rom6,b,31,6      rom7,b,31,7 \
28         rom8,b,31,8    rom9,b,31,9 \
29         \
30         tty0,c,4,0     tty1,c,4,1         tty2,c,4,2       tty3,c,4,3 \
31         ttyS0,c,4,64   ttyS1,c,4,65 \
32         \
33         ttyp0,c,3,0    ttyp1,c,3,1        ttyp2,c,3,2      ttyp3,c,3,3 \
34         ttyp4,c,3,4    ttyp5,c,3,5        ttyp6,c,3,6      ttyp7,c,3,7 \
35         ttyp8,c,3,8    ttyp9,c,3,9        ttypa,c,3,10     ttypb,c,3,11 \
36         ttypc,c,3,12   ttypd,c,3,13       ttype,c,3,14     ttypf,c,3,15 \
37         \
38         hda,b,3,0      hdb,b,3,64 \
39         \
40         zero,c,1,5     random,c,1,8       urandom,c,1,9 \
41         \
42         rom0,b,31,0    rom1,b,31,1        rom2,b,31,2      rom3,b,31,3 \
43         rom4,b,31,4    rom5,b,31,5        rom6,b,31,6      rom7,b,31,7 \
44         rom8,b,31,8    rom9,b,31,9 \
45         \
46         modem,c,24,64 \
47         cuam,c,25,64 \
48         ipsec,c,36,10 \
49         ledman,c,126,0 \
50         xymem,c,127,0 xmem,c,127,1 ymem,c,127,2 \
51         ttySC0,c,204,8 ttySC1,c,204,9 ttySC2,c,204,10\
52         hifn0,c,28,0 \
53         \
54         ppp,c,108,0
55
56 FLASH_DEVICES = \
57         boot,b,31,1 \
58         config,b,31,2 \
59         image,b,31,3 \
60         all,b,31,4
61
62 all:
63
64 clean:
65         rm -f boot.elf romfs.img linux.bin vectors.bin
66
67 .PHONY: $(BOOTBIN)
68 $(BOOTBIN):
69         $(CC) -nostartfiles -nostdlib $(CFLAGS) -Wl,-T -Wl,boot.ld -o $(BOOT) boot.S
70         $(CROSS)objcopy -O binary -j .text $(BOOT) $(BOOTBIN)
71
72 romfs:
73         [ -d $(ROMFSDIR) ] || mkdir -p $(ROMFSDIR)
74         for i in $(ROMFS_DIRS); do \
75                 [ -d $(ROMFSDIR)/$$i ] || mkdir -p $(ROMFSDIR)/$$i; \
76         done
77         for i in $(DEVICES); do \
78                 touch $(ROMFSDIR)/dev/@$$i; \
79         done
80         # these permissions are needed for openpty and family to work
81         # on non-ptmx ptys
82         chmod 620 $(ROMFSDIR)/dev/@[pt]ty[pqrsPQRS][0-9a-f],*
83         for i in $(FLASH_DEVICES); do \
84                 touch $(ROMFSDIR)/dev/flash/@$$i; \
85         done
86         $(ROMFSINST) -s ./bin /sbin
87         $(ROMFSINST) -s /var/tmp /tmp
88         $(ROMFSINST) -s /var/tmp/log /dev/log
89         > $(ROMFSDIR)/etc/inetd.conf
90         echo "boa:unknown:/bin/boa" > $(ROMFSDIR)/etc/default/inittab
91         echo "dhcpcd eth0 &" > $(ROMFSDIR)/etc/default/start
92         $(ROMFSINST) /etc/rc
93         $(ROMFSINST) /etc/inittab
94         $(ROMFSINST) ../../Generic/romfs/etc/services /etc/services
95         case "$(LINUXDIR)" in \
96         *2.4.*) ;; \
97         *) echo "ttyS0:linux:/bin/sh" >> $(ROMFSDIR)/etc/inittab ;; \
98         esac
99         $(ROMFSINST) /etc/motd
100         $(ROMFSINST) /etc/passwd
101         echo "$(VERSIONSTR) -- " `date` > $(ROMFSDIR)/etc/version
102
103 image: $(BOOTBIN)
104         [ -d $(IMAGEDIR) ] || mkdir -p $(IMAGEDIR)
105 ifeq ($(CONFIG_BINFMT_ZFLAT),y)
106         -flthdr -z $(ROMFSDIR)/bin/*
107         -flthdr -z $(ROMFSDIR)/sbin/*
108         -flthdr -z $(ROMFSDIR)/home/httpd/cgi-bin/*
109 endif
110         genromfs -v -V "ROMdisk" -f romfs.img -d $(ROMFSDIR)
111         $(CROSS)objcopy -O binary \
112                         -j .bootvec \
113                         -j .text \
114                         -j .data \
115                         $(ROOTDIR)/$(LINUXDIR)/linux linux.bin
116         cat linux.bin romfs.img > $(IMAGE)
117         $(ROOTDIR)/tools/cksum -b -o 2 $(IMAGE) >> $(IMAGE)
118         $(CROSS)objcopy \
119                         --add-section .image=$(IMAGE) \
120                         --change-section-vma=.image=0x40000 \
121                         --set-section-flags=.image=alloc,load,data \
122                         -O srec \
123                         -j .text \
124                         -j .image \
125                         $(BOOT) $(IMAGES)
126         $(CROSS)objcopy -O srec -j .text $(BOOT) $(IMAGEB)
127         gzip -c -9 $(IMAGE) > $(IMAGEZ)
128         $(ROOTDIR)/tools/cksum -b -o 2 $(IMAGEZ) >> $(IMAGEZ)
129         rm $(BOOT)
130         @if [ -w "$(TFTPBOOT)/." ]; then \
131                 echo "Copying images to $(TFTPBOOT) ..."; \
132                 cp $(IMAGES)  $(TFTPBOOT)/. ; \
133                 cp $(IMAGEB)  $(TFTPBOOT)/. ; \
134                 cp $(IMAGEZ)  $(TFTPBOOT)/. ; \
135                 cp $(IMAGE)   $(TFTPBOOT)/. ; \
136                 cp $(BOOTBIN) $(TFTPBOOT)/. ; \
137         fi