summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 00a780c98a2f9fa5f5c2727a66cf6ab7e73a873e (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
# Native PARISC/Linux Project Bootstrap Code
#
# Copyright (C) 2000 Hewlett Packard (Paul Bame, bame@puffin.external.hp.com)
# Copyright (C) 1999 Jason Eckhardt <jle@cygnus.com>
#                    Helge Deller <deller@gmx.de>
#                    Christopher Beard <cjbeard@thepuffingroup.com>
#                    Alex deVries <adevries@thepuffingroup.com>
#

# This is here temporarily for folks who still have the old linux makefile
ifneq ($(strip ${TOPDIR}),)
    PA=${TOPDIR}
endif

# here is one which should work for nearly everyone, unless they
# have a different name for their linux tree:
ifeq ($(strip ${PA}),)
    PA := $(shell pwd)/../linux
endif

export PA

# GNU make is needed, can be overridden by environment, e.g. for HP-UX
MAKE ?= make

# Choose at most one of RAMDISK or NFSROOT below
#
# Set RAMDISK to a ramdisk image to in order to load the ramdisk on the
# boot medium and make the default kernel command line to use it
#
# RAMDISK = ${PA}/ramdisk.bin

#
# Set NFSROOT to the IP address of your NFS root server to make
# a kernel command line to use NFS root.  This is incompatible with
# RAMDISK above.  Though you can have both a ramdisk and an NFS root,
# as far as palo is concerned anyway, this Makefile doesn't help you
# do that and I'm not sure the kernel's very good at it right now either.
#
NFSROOT = 10.10.10.2
# NFSROOT = 10.10.10.2:/tftpboot/nfsroot


ROOT=root=/dev/sda1

#
# In case you want to use ISA cards (or any edge triggered EISA cards) in your 
# EISA slots, just uncomment the following line and specify the corresponding 
# irq level(s)
#
# EISAIRQ = eisa_irq_edge=3,4,5,7,9,10,11,14,15


ifneq ($(strip ${RAMDISK}),)
    PALOSTUFF=-r ${RAMDISK}
    ROOT=root=/dev/ram initrd=0/ramdisk
endif

ifneq ($(strip ${NFSROOT}),)
    PALOSTUFF=
    ROOT=root=/dev/nfs nfsroot=${NFSROOT} ip=bootp
endif

CMDLINE = 0/vmlinux HOME=/ TERM=linux $(ROOT) $(EISAIRQ) $(CONSOLE)

HELP2MAN := $(shell command -v help2man 2> /dev/null)

all: makepalo README palo.conf

README:	README.html
	lynx -dump README.html > README

makepalo:
	cd palo && $(MAKE)

makeipl:
	cd ipl && $(MAKE)

lifimage:	all Makefile lifimage-only

lifimage-only: ${PA}/vmlinux iplboot
	./palo/palo -f /dev/null \
		-b iplboot \
		-k ${PA}/vmlinux \
		${PALOSTUFF} \
		-c "${CMDLINE}" \
		-s lifimage

iplboot:	makeipl makepalo ipl/iplelf
	./palo/mkbootable ipl/iplelf iplboot

clean:
	# We intentionally don't remove iplboot here so that the file
	# is available for cross-installation.
	rm -f lifimage palo.8.gz changelog.gz palo.tgz
	cd ipl && $(MAKE) clean
	cd palo && $(MAKE) clean

realclean:
	rm -f iplboot lifimage palo.8.gz changelog.gz README palo.tgz
	cd ipl && $(MAKE) clean
	cd palo && $(MAKE) clean

distclean:
	rm -f lifimage palo.8.gz changelog.gz README palo.tgz
	cd ipl && $(MAKE) distclean
	cd palo && $(MAKE) distclean

ifdef HELP2MAN
palo.8:		makepalo palo/usage.txt palo.help2man
	help2man --section=8 --no-info \
		--name="boot media management tool for PA-RISC/HPPA." \
		--include=palo.help2man ./palo/palo > palo.8
endif

palo.8.gz:	palo.8
	gzip -9 < palo.8 > palo.8.gz

changelog.gz:	debian/changelog
	gzip -9 < debian/changelog > changelog.gz

INSTALL	=	install
IFLAGS	=	-o root -g root
INSTALL	+=	${IFLAGS}
DESTDIR = ./root

install: all README.html palo.conf palo/palo palo.8.gz changelog.gz
	${INSTALL} -d ${DESTDIR}/usr/share/doc/palo \
			${DESTDIR}/etc ${DESTDIR}/sbin \
			${DESTDIR}/usr/share/palo \
			${DESTDIR}/usr/share/man/man8
	${INSTALL} -m644 palo.conf ${DESTDIR}/usr/share/doc/palo
	${INSTALL} palo/palo ${DESTDIR}/sbin
	@# iplboot isn't natively executable -- don't set mode=x
	${INSTALL} -m444 iplboot ${DESTDIR}/usr/share/palo
	${INSTALL} -m444 README.html README changelog.gz \
			${DESTDIR}/usr/share/doc/palo
	${INSTALL} -m444 palo.8.gz ${DESTDIR}/usr/share/man/man8

uninstall: 
	${RM} -rf ${DESTDIR}/usr/share/doc/palo
	${RM} -rf ${DESTDIR}/sbin/palo
	${RM} -rf ${DESTDIR}/usr/share/palo
	${RM} -rf ${DESTDIR}/usr/share/man/man8/palo.8.gz

palo.tgz:
	tar cvfz palo.tgz *

# Build RPM source and binary package
palo.rpm rpm:
	rm -f palo.tgz && $(MAKE) palo.tgz && rpmbuild -ta palo.tgz