summaryrefslogtreecommitdiffstats
path: root/arch/ppc/coffboot/Makefile
blob: 72a6df4552d95f69bd3fd93691481fdfcfaabf58 (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
# Makefile for making XCOFF bootable images for booting on PowerMacs
# using Open Firmware.
#
# Paul Mackerras	January 1997

# PowerPC (cross) tools
ifneq ($(shell uname -m),ppc)
CROSS_COMPILE 	=powerpc-eabi-
endif


# PowerPC (cross) tools
ifneq ($(shell uname -m),ppc)
#CROSS_COMPILE 	=powerpc-eabi-
CROSS_COMPILE  =ppc-linux-elf-
endif

HOSTCC	= gcc
HOSTCFLAGS = -O -I$(TOPDIR)/include

CC	= $(CROSS_COMPILE)gcc
LD	= $(CROSS_COMPILE)ld
CFLAGS	= -O -fno-builtin -I$(TOPDIR)/include
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJCOPY_ARGS = -O aixcoff-rs6000 -R .stab -R .stabstr -R .comment \
	--add-section=image=vmlinux.gz
LD_ARGS = -e _start -T ld.script -Ttext 500000 -Tdata 510000 -Bstatic
GZ = gzip -9

OBJS = crt0.o start.o main.o misc.o string.o zlib.o
LIBS = $(TOPDIR)/lib/lib.a

ifeq ($(CONFIG_ALL_PPC),y)
# yes, we want to build pmac stuff
CONFIG_PMAC = y
endif

ifeq ($(CONFIG_PMAC),y)
hack-coff: hack-coff.c
	$(HOSTCC) $(HOSTCFLAGS) -o hack-coff hack-coff.c

floppy: zImage
#	mount -t hfs /dev/fd0 /mnt
#	cp vmlinux.coff /mnt
#	umount /mnt

znetboot: vmlinux.coff
	cp vmlinux.coff /tftpboot/zImage.pmac

znetboot.initrd: vmlinux.coff.initrd
	cp vmlinux.coff.initrd /tftpboot/zImage.pmac

coffboot: $(OBJS) ld.script
	$(LD) -o coffboot $(LD_ARGS) $(OBJS) $(LIBS)

zImage: vmlinux.coff

zImage.initrd: vmlinux.coff.initrd

vmlinux.coff: coffboot hack-coff vmlinux.gz
	$(OBJCOPY) $(OBJCOPY_ARGS) coffboot $@
	./hack-coff $@
	ln -sf vmlinux.coff zImage

vmlinux.coff.initrd: coffboot hack-coff vmlinux.gz ramdisk.image.gz
	$(OBJCOPY) $(OBJCOPY_ARGS) --add-section=initrd=ramdisk.image.gz \
		coffboot $@
	./hack-coff $@

else
znetboot: vmlinux.gz

znetboot.initrd: vmlinux.gz

coffboot: vmlinux.gz

zImage: vmlinux.gz

zImage.initrd: vmlinux.gz

vmlinux.coff: vmlinux.gz

vmlinux.coff.initrd: vmlinux.gz

floppy: vmlinux.gz

endif

vmlinux.gz: $(TOPDIR)/vmlinux
	$(OBJCOPY) -S -O binary $(TOPDIR)/vmlinux vmlinux
	gzip -vf9 vmlinux

clean:
	rm -f hack-coff coffboot zImage vmlinux.coff vmlinux.gz

fastdep: