summaryrefslogtreecommitdiffstats
path: root/arch/ppc/chrpboot/Makefile
blob: 946845a5dd83b10a86f6e9fda672985fa9e07ac8 (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
# Makefile for making ELF bootable images for booting on CHRP
# using Open Firmware.
#
# Geert Uytterhoeven	September 1997
#
# Based on coffboot by Paul Mackerras

.c.s:
	$(CC) $(CFLAGS) -S -o $*.s $<
.s.o:
	$(AS) -o $*.o $<
.c.o:
	$(CC) $(CFLAGS) -DKERNELBASE=$(KERNELBASE) -c -o $*.o $<
.S.s:
	$(CC) -D__ASSEMBLY__ -traditional -E -o $*.o $<
.S.o:
	$(CC) -D__ASSEMBLY__ -traditional -c -o $*.o $<

CFLAGS	= -O -fno-builtin -DSTDC_HEADERS -I$(TOPDIR)/include
LD_ARGS = -T ../vmlinux.lds -Ttext 0x00800000
OBJCOPY = $(CROSS_COMPILE)objcopy

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

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

all:	$(TOPDIR)/zImage

#
# Only build anything here if we're configured for CHRP
# -- cort
#
ifeq ($(CONFIG_CHRP),y)
znetboot: zImage
	cp zImage /tftpboot/zImage.chrp

znetboot.initrd: zImage.initrd
	cp zImage.initrd /tftpboot/zImage.chrp

floppy: zImage
	mcopy zImage a:zImage

piggyback: piggyback.c
	$(HOSTCC) -DKERNELBASE=$(KERNELBASE) -o piggyback piggyback.c

image.o: piggyback ../coffboot/vmlinux.gz
	./piggyback image < ../coffboot/vmlinux.gz | $(AS) -o image.o

initrd.o: ramdisk.image.gz piggyback
	./piggyback initrd < ramdisk.image.gz | $(AS) -o initrd.o

zImage: $(OBJS) no_initrd.o
	$(LD) $(LD_ARGS) -o $@ $(OBJS) no_initrd.o $(LIBS)
	objcopy zImage zImage

zImage.initrd: $(OBJS) initrd.o
	$(LD) $(LD_ARGS) -o $@ $(OBJS) initrd.o $(LIBS)

else
znetboot:

znetboot.initrd:

floppy:

zImage:

zImage.initrd:

endif

# just here to match coffboot/Makefile
vmlinux.coff:

vmlinux.coff.initrd:


clean:
	rm -f piggyback
	rm -f $(OBJS) zImage

fastdep:
	$(TOPDIR)/scripts/mkdep *.[Sch] > .depend

dep:
	$(CPP) -M *.S *.c > .depend