#
# 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, 1998, 2001 by Ralf Baechle
#

.S.s:
	$(CPP) $(CFLAGS) $< -o $*.s
.S.o:
	$(CC) $(CFLAGS) -c $< -o $*.o

OBJS  = milo.o a.out.o
SYSTEM = $(TOPDIR)/vmlinux
#
# Some DECstations need all possible sections of an ECOFF executable
#
ifdef CONFIG_DECSTATION
  E2EFLAGS = -a
else
  E2EFLAGS =
endif

#
# Drop some uninteresting sections in the kernel.
# This is only relevant for ELF kernels but doesn't hurt a.out
#
drop-sections	= .reginfo .mdebug
strip-flags	= $(addprefix --remove-section=,$(drop-sections))

all: vmlinux.ecoff vmlinux.srec addinitrd


vmlinux.binary: $(SYSTEM)
	@echo Making simple binary of vmlinux...
	rm -f vmlinux.binary
	$(OBJCOPY) -S -O binary $(strip-flags) $(SYSTEM) vmlinux.binary

vmlinux.ecoff:	$(CONFIGURE) elf2ecoff $(TOPDIR)/vmlinux
	./elf2ecoff $(TOPDIR)/vmlinux vmlinux.ecoff $(E2EFLAGS)

vmlinux.srec:	$(CONFIGURE) $(TOPDIR)/vmlinux
	$(OBJCOPY) -S -O srec $(strip-flags) $(TOPDIR)/vmlinux vmlinux.srec

elf2ecoff: elf2ecoff.c
	$(HOSTCC) -o $@ $^

addinitrd: addinitrd.c
	$(HOSTCC) -o $@ $^

stripped: $(TOPDIR)/vmlinux
	@echo Stripping vmlinux...
	$(STRIP) $(strip-flags) $(TOPDIR)/vmlinux -o vmlinux-stripped

# Don't build dependencies, this may die if $(CC) isn't gcc
dep:

clean:
	rm -f vmlinux.ecoff
	rm -f vmlinux.srec
	rm -f zImage zImage.tmp
	rm -f vmlinux-stripped

mrproper:
	rm -f vmlinux.ecoff
	rm -f addinitrd
	rm -f elf2ecoff
	rm -f vmlinux-stripped

dummy:

include $(TOPDIR)/Rules.make
