123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- #
- # aboot/Makefile
- #
- # This file is subject to the terms and conditions of the GNU General Public
- # License. See the file "COPYING" in the main directory of this archive
- # for more details.
- #
- # Copyright (c) 1995, 1996 by David Mosberger (davidm@cs.arizona.edu)
- #
- # location of linux kernel sources (must be absolute path):
- KSRC = /usr/src/linux
- VMLINUX = $(KSRC)/vmlinux
- VMLINUXGZ = $(KSRC)/arch/alpha/boot/vmlinux.gz
- # for userspace testing
- #TESTING = yes
- # for boot testing
- #CFGDEFS = -DDEBUG_ISO -DDEBUG_ROCK -DDEBUG_EXT2 -DDEBUG
- bindir = $(DESTDIR)/sbin
- bootdir = $(DESTDIR)/boot
- export
- #
- # There shouldn't be any need to change anything below this line.
- #
- TOP = $(shell pwd)
- LOADADDR = 20000000
- ifndef $($(CC))
- CC ?= gcc
- endif
- ifeq ($(TESTING),)
- override CPPFLAGS += $(CFGDEFS) -I$(TOP)/include
- override CFLAGS += $(CPPFLAGS) -D__KERNEL__ -mcpu=ev4 -Os -Wall -fno-builtin -Wcast-align -mno-fp-regs -ffixed-8 -fno-builtin-printf
- else
- override CPPFLAGS += -DTESTING $(CFGDEFS) -I$(TOP)/include
- override CFLAGS += $(CPPFLAGS) -O -g3 -Wall -D__KERNEL__ -ffixed-8
- endif
- ABOOT_LDFLAGS = -static -N -Taboot.lds
- override ASFLAGS += $(CPPFLAGS)
- .c.s:
- $(CC) $(CFLAGS) -S -o $*.s $<
- .s.o:
- $(AS) -o $*.o $<
- .c.o:
- $(CC) $(CFLAGS) -c -o $*.o $<
- .S.s:
- $(CC) $(ASFLAGS) -D__ASSEMBLY__ -traditional -E -o $*.o $<
- .S.o:
- $(CC) $(ASFLAGS) -D__ASSEMBLY__ -traditional -c -o $*.o $<
- NET_OBJS = net.o
- DISK_OBJS = disk.o fs/ext2.o fs/ufs.o fs/dummy.o fs/iso.o
- ifeq ($(TESTING),)
- ABOOT_OBJS = \
- head.o aboot.o cons.o utils.o \
- zip/misc.o zip/unzip.o zip/inflate.o
- else
- ABOOT_OBJS = aboot.o zip/misc.o zip/unzip.o zip/inflate.o
- endif
- LIBS = lib/libaboot.a
- all: diskboot net_aboot.nh
- diskboot: bootlx sdisklabel/sdisklabel sdisklabel/swriteboot \
- tools/e2writeboot tools/abootconf \
- tools/elfencap
- netboot: vmlinux.bootp
- bootloader.h: net_aboot.nh b2c
- ./b2c net_aboot.nh bootloader.h bootloader
- netabootwrap: netabootwrap.c bootloader.h
- $(CC) $@.c $(CFLAGS) -o $@
-
- bootlx: aboot tools/objstrip
- tools/objstrip -vb aboot bootlx
- install-man:
- make -C doc/man install
- install-man-gz:
- make -C doc/man install-gz
- install: tools/abootconf tools/e2writeboot \
- sdisklabel/swriteboot
- install -d $(bindir) $(bootdir)
- install -c tools/abootconf $(bindir)
- install -c tools/e2writeboot $(bindir)
- install -c sdisklabel/swriteboot $(bindir)
- install -c bootlx $(bootdir)
- installondisk: bootlx sdisklabel/swriteboot
- sdisklabel/swriteboot -vf0 /dev/sda bootlx vmlinux.gz
- ifeq ($(TESTING),)
- aboot: $(ABOOT_OBJS) $(DISK_OBJS) $(LIBS)
- $(LD) $(ABOOT_LDFLAGS) $(ABOOT_OBJS) $(DISK_OBJS) -o $@ $(LIBS)
- else
- aboot: $(ABOOT_OBJS) $(DISK_OBJS) $(LIBS)
- $(CC) $(ABOOT_OBJS) $(DISK_OBJS) -o $@ $(LIBS)
- endif
- vmlinux.bootp: net_aboot.nh $(VMLINUXGZ) net_pad
- cat net_aboot.nh $(VMLINUXGZ) net_pad > $@
- net_aboot.nh: net_aboot tools/objstrip
- $(CROSS)strip net_aboot
- tools/objstrip -vb net_aboot $@
- net_aboot: $(ABOOT_OBJS) $(ABOOT_OBJS) $(NET_OBJS) $(LIBS)
- $(LD) $(ABOOT_LDFLAGS) $(ABOOT_OBJS) $(NET_OBJS) -o $@ $(LIBS)
- net_pad:
- dd if=/dev/zero of=$@ bs=512 count=1
- clean: sdisklabel/clean tools/clean lib/clean
- rm -f aboot abootconf net_aboot net_aboot.nh net_pad vmlinux.bootp \
- $(ABOOT_OBJS) $(DISK_OBJS) $(NET_OBJS) bootlx \
- include/ksize.h vmlinux.nh b2c bootloader.h netabootwrap
- distclean: clean
- find . -name \*~ | xargs rm -f
- lib/%:
- make -C lib $* CPPFLAGS="$(CPPFLAGS)" TESTING="$(TESTING)"
- tools/%:
- make -C tools $* CPPFLAGS="$(CPPFLAGS)"
- sdisklabel/%:
- make -C sdisklabel $* CPPFLAGS="$(CPPFLAGS)"
- vmlinux.nh: $(VMLINUX) tools/objstrip
- tools/objstrip -vb $(VMLINUX) vmlinux.nh
- include/ksize.h: vmlinux.nh
- echo "#define KERNEL_SIZE `ls -l vmlinux.nh | awk '{print $$5}'` > $@
- dep:
|