OpenSolaris_b135/grub/grub-0.97/stage2/Makefile.solaris

#
# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# ident	"%Z%%M%	%I%	%E% SMI"
#
include ../../Makefile.grub
include ../Makefile.solaris.defs

.SUFFIXES:
.SUFFIXES: .exec $(SUFFIXES)

.exec:
	$(OBJCOPY) -O binary $< $@


INCLUDES	= -I. -I.. -I../stage1 -I../netboot
LIBS		=

FSYS_CFLAGS	= -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 -DFSYS_UFS=1 \
		  -DFSYS_ZFS=1 \
		  -DFSYS_UFS2=1 -DFSYS_REISERFS=1 -DFSYS_ISO9660=1 \
		  -DUSE_MD5_PASSWORDS=1
$(STAGE2_NETBOOT)TFTP_CFLAGS	= -DFSYS_TFTP=1
$(OPTION_FS)FSYS_CFLAGS	+= -DFSYS_MINIX=1 -DFSYS_JFS=1 -DFSYS_XFS=1 \
		  -DSYS_VSTAFS=1

GRAPHICS_CFLAGS	= -DSUPPORT_GRAPHICS=1
# HERCULES_CFLAGS	= -DSUPPORT_HERCULES=1
NETBOOT_CFLAGS	= -DSUPPORT_NETBOOT=1
SERIAL_CFLAGS	= -DSUPPORT_SERIAL=1
GRUB_CFLAGS	= -O2 -I../lib -DGRUB_UTIL=1 \
		  -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 -DFSYS_ISO9660=1 \
		  -DFSYS_ZFS=1 \
		  -DFSYS_REISERFS=1 -DFSYS_UFS=1 -DFSYS_UFS2=1 \
		  -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1
$(OPTION_FS)GRUB_CFLAGS	+= -DFSYS_MINIX=1 -DFSYS_JFS=1 -DFSYS_XFS=1 \
		  -DSYS_VSTAFS=1
# GRUB_CFLAGS	+= -DSUPPORT_HERCULES=1
STAGE1_5_CFLAGS	= $(STAGE2_CFLAGS) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1
STAGE2_CFLAGS	= -Os -fno-builtin -nostdinc \
		  $(SERIAL_CFLAGS) $(GRAPHICS_CFLAGS)
$(STAGE2_NETBOOT)STAGE2_CFLAGS	+= $(NETBOOT_CFLAGS)
#STAGE2_CFLAGS	+= $(HERCULES_CFLAGS)

NBLOADER_LINK	= -nostdlib -N -Ttext 0
PRE_STAGE2_LINK	= -nostdlib -N -Ttext 8200
PXELOADER_LINK	= -nostdlib -N -Ttext 7C00
STAGE1_5_LINK	= -nostdlib -N -Ttext 2000
START_ELTORITO_LINK = -nostdlib -N -Ttext 7C00
START_LINK	= -nostdlib -N -Ttext 8000

LIBDRIVERS	= ../netboot/libdrivers.a


BUILT_SOURCES	= stage2_size.h
BUILT_SOURCES	+= diskless_size.h


LIBRARIES	= $(LIBGRUB)

LIBGRUB		= libgrub.a
LIBGRUB_OBJS	= libgrub_a-boot.o		\
		  libgrub_a-builtins.o		\
		  libgrub_a-char_io.o		\
		  libgrub_a-cmdline.o		\
		  libgrub_a-common.o		\
		  libgrub_a-disk_io.o		\
		  libgrub_a-fsys_ext2fs.o	\
		  libgrub_a-fsys_fat.o		\
		  libgrub_a-fsys_ffs.o		\
		  libgrub_a-fsys_iso9660.o	\
		  libgrub_a-fsys_jfs.o		\
		  libgrub_a-fsys_minix.o	\
		  libgrub_a-fsys_reiserfs.o	\
		  libgrub_a-zfs_sha256.o	\
		  libgrub_a-zfs_lzjb.o		\
		  libgrub_a-zfs_fletcher.o	\
		  libgrub_a-fsys_zfs.o		\
		  libgrub_a-fsys_ufs.o		\
		  libgrub_a-fsys_ufs2.o		\
		  libgrub_a-fsys_vstafs.o	\
		  libgrub_a-fsys_xfs.o		\
		  libgrub_a-graphics.o		\
		  libgrub_a-gunzip.o		\
		  libgrub_a-md5.o		\
		  libgrub_a-serial.o		\
		  libgrub_a-stage2.o		\
		  libgrub_a-terminfo.o		\
		  libgrub_a-tparm.o
$(LIBGRUB_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(GRUB_CFLAGS)


# Will be installed in $(ROOT_BOOT_GRUB).
INSTALL_DATA	= $(E2FS_STAGE1_5_DATA)		\
		  $(FAT_STAGE1_5_DATA)		\
		  $(FFS_STAGE1_5_DATA)		\
		  $(ISO9660_STAGE1_5_DATA)	\
		  $(JFS_STAGE1_5_DATA)		\
		  $(MINIX_STAGE1_5_DATA)	\
		  $(NBGRUB_DATA)		\
		  $(PXEGRUB_DATA)		\
		  $(REISERFS_STAGE1_5_DATA)	\
		  $(STAGE2_DATA)		\
		  $(STAGE2_ELTORITO_DATA)	\
		  $(UFS2_STAGE1_5_DATA)		\
		  $(UFS_STAGE1_5_DATA)		\
		  $(ZFS_STAGE1_5_DATA)		\
		  $(VSTAFS_STAGE1_5_DATA)	\
		  $(XFS_STAGE1_5_DATA)

# Won't be installed.
NOINSTALL_DATA	= $(DISKLESS_DATA)		\
		  $(NBLOADER_DATA)		\
		  $(PRE_STAGE2_DATA)		\
		  $(PXELOADER_DATA)		\
		  $(START_DATA)			\
		  $(START_ELTORITO_DATA)

DATA		= $(INSTALL_DATA) $(NOINSTALL_DATA)


PROGRAMS	= $(DISKLESS_EXEC)		\
		  $(E2FS_STAGE1_5_EXEC)		\
		  $(FAT_STAGE1_5_EXEC)		\
		  $(FFS_STAGE1_5_EXEC)		\
		  $(ISO9660_STAGE1_5_EXEC)	\
		  $(JFS_STAGE1_5_EXEC)		\
		  $(MINIX_STAGE1_5_EXEC)	\
		  $(NBLOADER_EXEC)		\
		  $(PRE_STAGE2_EXEC)		\
		  $(PXELOADER_EXEC)		\
 		  $(REISERFS_STAGE1_5_EXEC)	\
		  $(START_EXEC)			\
		  $(START_ELTORITO_EXEC)	\
		  $(UFS2_STAGE1_5_EXEC)		\
		  $(UFS_STAGE1_5_EXEC)		\
		  $(ZFS_STAGE1_5_EXEC)		\
		  $(VSTAFS_STAGE1_5_EXEC)	\
		  $(XFS_STAGE1_5_EXEC)


#
# diskless
#
DISKLESS_DATA		= diskless
DISKLESS_EXEC		= diskless.exec
DISKLESS_ASMOBJS	= diskless_exec-asm.o

DISKLESS_OBJS		= diskless_exec-bios.o		\
			  diskless_exec-boot.o		\
			  diskless_exec-builtins.o	\
			  diskless_exec-char_io.o	\
			  diskless_exec-cmdline.o	\
			  diskless_exec-common.o	\
			  diskless_exec-console.o	\
			  diskless_exec-disk_io.o	\
			  diskless_exec-fsys_ext2fs.o	\
			  diskless_exec-fsys_fat.o	\
			  diskless_exec-fsys_ffs.o	\
			  diskless_exec-fsys_iso9660.o	\
			  diskless_exec-fsys_jfs.o	\
			  diskless_exec-fsys_minix.o	\
			  diskless_exec-fsys_reiserfs.o	\
			  diskless_exec-zfs_sha256.o	\
			  diskless_exec-zfs_lzjb.o	\
			  diskless_exec-zfs_fletcher.o	\
			  diskless_exec-fsys_zfs.o	\
			  diskless_exec-fsys_ufs.o	\
			  diskless_exec-fsys_ufs2.o	\
			  diskless_exec-fsys_vstafs.o	\
			  diskless_exec-fsys_xfs.o	\
			  diskless_exec-graphics.o	\
			  diskless_exec-gunzip.o	\
			  diskless_exec-hercules.o	\
			  diskless_exec-md5.o		\
			  diskless_exec-serial.o	\
			  diskless_exec-smp-imps.o	\
			  diskless_exec-stage2.o	\
			  diskless_exec-terminfo.o	\
			  diskless_exec-tparm.o

$(DISKLESS_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(PRE_STAGE2_LINK)
$(DISKLESS_EXEC)	:= LIBS = $(LIBDRIVERS)

$(DISKLESS_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS) \
				$(FSYS_CFLAGS) -DFSYS_TFTP=1 \
				-DSUPPORT_DISKLESS=1

$(DISKLESS_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE2_CFLAGS) \
				$(FSYS_CFLAGS) -DFSYS_TFTP=1 \
				-DSUPPORT_DISKLESS=1

#
# ext2fs stage 1.5
#
E2FS_STAGE1_5_DATA	= e2fs_stage1_5
E2FS_STAGE1_5_EXEC	= e2fs_stage1_5.exec

E2FS_STAGE1_5_ASMOBJS	= e2fs_stage1_5_exec-asm.o \
			  e2fs_stage1_5_exec-start.o

E2FS_STAGE1_5_OBJS	= e2fs_stage1_5_exec-bios.o \
			  e2fs_stage1_5_exec-char_io.o \
			  e2fs_stage1_5_exec-common.o \
			  e2fs_stage1_5_exec-disk_io.o \
			  e2fs_stage1_5_exec-fsys_ext2fs.o \
			  e2fs_stage1_5_exec-stage1_5.o

$(E2FS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)

$(E2FS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_EXT2FS=1 -DNO_BLOCK_FILES=1

$(E2FS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_EXT2FS=1 -DNO_BLOCK_FILES=1

#
# FAT stage 1.5
#
FAT_STAGE1_5_DATA	= fat_stage1_5
FAT_STAGE1_5_EXEC	= fat_stage1_5.exec

FAT_STAGE1_5_ASMOBJS	= fat_stage1_5_exec-asm.o \
			  fat_stage1_5_exec-start.o

FAT_STAGE1_5_OBJS	= fat_stage1_5_exec-bios.o \
			  fat_stage1_5_exec-char_io.o \
			  fat_stage1_5_exec-common.o \
			  fat_stage1_5_exec-disk_io.o \
			  fat_stage1_5_exec-fsys_fat.o \
			  fat_stage1_5_exec-stage1_5.o

$(FAT_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)

$(FAT_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_FAT=1 -DNO_BLOCK_FILES=1

$(FAT_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_FAT=1 -DNO_BLOCK_FILES=1

#
# FFS stage 1.5
#
FFS_STAGE1_5_DATA	= ffs_stage1_5
FFS_STAGE1_5_EXEC	= ffs_stage1_5.exec

FFS_STAGE1_5_ASMOBJS	= ffs_stage1_5_exec-asm.o \
			  ffs_stage1_5_exec-start.o

FFS_STAGE1_5_OBJS	= ffs_stage1_5_exec-bios.o \
			  ffs_stage1_5_exec-char_io.o \
			  ffs_stage1_5_exec-common.o \
			  ffs_stage1_5_exec-disk_io.o \
			  ffs_stage1_5_exec-fsys_ffs.o \
			  ffs_stage1_5_exec-stage1_5.o

$(FFS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)

$(FFS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_FFS=1 -DNO_BLOCK_FILES=1

$(FFS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_FFS=1 -DNO_BLOCK_FILES=1

#
# ISO9660 stage 1.5
#
ISO9660_STAGE1_5_DATA	= iso9660_stage1_5
ISO9660_STAGE1_5_EXEC	= iso9660_stage1_5.exec

ISO9660_STAGE1_5_ASMOBJS = iso9660_stage1_5_exec-asm.o \
			   iso9660_stage1_5_exec-start_eltorito.o

ISO9660_STAGE1_5_OBJS	= iso9660_stage1_5_exec-bios.o \
			  iso9660_stage1_5_exec-char_io.o \
			  iso9660_stage1_5_exec-common.o \
			  iso9660_stage1_5_exec-disk_io.o \
			  iso9660_stage1_5_exec-fsys_iso9660.o \
			  iso9660_stage1_5_exec-stage1_5.o

$(ISO9660_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)

$(ISO9660_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) \
				$(STAGE1_5_CFLAGS) \
				-DFSYS_ISO9660=1 -DNO_BLOCK_FILES=1

$(ISO9660_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_ISO9660=1 -DNO_BLOCK_FILES=1

#
# IBM JFS stage 1.5
#
JFS_STAGE1_5_DATA	= jfs_stage1_5
JFS_STAGE1_5_EXEC	= jfs_stage1_5.exec

JFS_STAGE1_5_ASMOBJS	= jfs_stage1_5_exec-asm.o \
			  jfs_stage1_5_exec-start.o

JFS_STAGE1_5_OBJS	= jfs_stage1_5_exec-bios.o \
			  jfs_stage1_5_exec-char_io.o \
			  jfs_stage1_5_exec-common.o \
			  jfs_stage1_5_exec-disk_io.o \
			  jfs_stage1_5_exec-fsys_jfs.o \
			  jfs_stage1_5_exec-stage1_5.o

$(JFS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)

$(JFS_STAGE1_5_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_JFS=1 -DNO_BLOCK_FILES=1

$(JFS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_JFS=1 -DNO_BLOCK_FILES=1

#
# Minix fs stage 1.5
#
MINIX_STAGE1_5_DATA	= minix_stage1_5
MINIX_STAGE1_5_EXEC	= minix_stage1_5.exec

MINIX_STAGE1_5_ASMOBJS	= minix_stage1_5_exec-asm.o \
			  minix_stage1_5_exec-start.o

MINIX_STAGE1_5_OBJS	= minix_stage1_5_exec-bios.o \
			  minix_stage1_5_exec-char_io.o \
			  minix_stage1_5_exec-common.o \
			  minix_stage1_5_exec-disk_io.o \
			  minix_stage1_5_exec-fsys_minix.o \
			  minix_stage1_5_exec-stage1_5.o

$(MINIX_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)

$(MINIX_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_MINIX=1 -DNO_BLOCK_FILES=1

$(MINIX_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_MINIX=1 -DNO_BLOCK_FILES=1

#
# nbgrub
#
NBGRUB_DATA		= nbgrub

#
# nbloader
#
NBLOADER_DATA		= nbloader
NBLOADER_EXEC		= nbloader.exec
NBLOADER_ASMOBJS	= nbloader_exec-nbloader.o
NBLOADER_OBJS		=
$(NBLOADER_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(NBLOADER_LINK)
$(NBLOADER_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS)

#
# Pre-stage2
#
PRE_STAGE2_DATA		= pre_stage2
PRE_STAGE2_EXEC		= pre_stage2.exec
PRE_STAGE2_ASMOBJS	= pre_stage2_exec-asm.o

PRE_STAGE2_OBJS		= pre_stage2_exec-bios.o \
			  pre_stage2_exec-boot.o \
			  pre_stage2_exec-builtins.o \
			  pre_stage2_exec-char_io.o \
			  pre_stage2_exec-cmdline.o \
			  pre_stage2_exec-common.o \
			  pre_stage2_exec-console.o \
			  pre_stage2_exec-disk_io.o \
			  pre_stage2_exec-fsys_ext2fs.o \
			  pre_stage2_exec-fsys_fat.o \
			  pre_stage2_exec-fsys_ffs.o \
			  pre_stage2_exec-fsys_iso9660.o \
			  pre_stage2_exec-fsys_jfs.o \
			  pre_stage2_exec-fsys_minix.o \
			  pre_stage2_exec-fsys_reiserfs.o \
			  pre_stage2_exec-zfs_sha256.o \
			  pre_stage2_exec-zfs_lzjb.o \
			  pre_stage2_exec-zfs_fletcher.o \
			  pre_stage2_exec-fsys_zfs.o \
			  pre_stage2_exec-fsys_ufs.o \
			  pre_stage2_exec-fsys_ufs2.o \
			  pre_stage2_exec-fsys_vstafs.o \
			  pre_stage2_exec-fsys_xfs.o \
			  pre_stage2_exec-graphics.o \
			  pre_stage2_exec-gunzip.o \
			  pre_stage2_exec-hercules.o \
			  pre_stage2_exec-md5.o \
			  pre_stage2_exec-serial.o \
			  pre_stage2_exec-smp-imps.o \
			  pre_stage2_exec-stage2.o \
			  pre_stage2_exec-terminfo.o \
			  pre_stage2_exec-tparm.o

$(PRE_STAGE2_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(PRE_STAGE2_LINK)
$(STAGE2_NETBOOT)$(PRE_STAGE2_EXEC)	:= LIBS = $(LIBDRIVERS)

$(PRE_STAGE2_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS) \
				$(FSYS_CFLAGS) $(TFTP_CFLAGS)

$(PRE_STAGE2_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE2_CFLAGS) \
				$(FSYS_CFLAGS) $(TFTP_CFLAGS)

#
# pxegrub
#
PXEGRUB_DATA		= pxegrub

#
# pxeloader
#
PXELOADER_DATA		= pxeloader
PXELOADER_EXEC		= pxeloader.exec
PXELOADER_ASMOBJS	= pxeloader_exec-pxeloader.o
PXELOADER_OBJS		=
$(PXELOADER_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(PXELOADER_LINK)
$(PXELOADER_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS)

#
# ReiserFS stage 1.5
#
REISERFS_STAGE1_5_DATA  = reiserfs_stage1_5
REISERFS_STAGE1_5_EXEC  = reiserfs_stage1_5.exec

REISERFS_STAGE1_5_ASMOBJS = reiserfs_stage1_5_exec-asm.o \
			    reiserfs_stage1_5_exec-start.o

REISERFS_STAGE1_5_OBJS  = reiserfs_stage1_5_exec-bios.o \
			  reiserfs_stage1_5_exec-char_io.o \
			  reiserfs_stage1_5_exec-common.o \
			  reiserfs_stage1_5_exec-disk_io.o \
			  reiserfs_stage1_5_exec-fsys_reiserfs.o \
			  reiserfs_stage1_5_exec-stage1_5.o
 
$(REISERFS_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)
 
$(REISERFS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) \
				$(STAGE1_5_CFLAGS) \
				-DFSYS_REISERFS=1 -DNO_BLOCK_FILES=1
 
$(REISERFS_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS)	\
				-DFSYS_REISERFS=1 -DNO_BLOCK_FILES=1

#
# stage2
#
STAGE2_DATA		= stage2

#
# Eltorito stage2
#
STAGE2_ELTORITO_DATA	= stage2_eltorito

#
# start
#
START_DATA		= start
START_EXEC		= start.exec
START_ASMOBJS		= start_exec-start.o
START_OBJS		=
$(START_EXEC)		:= LDFLAGS = $(BASE_LDFLAGS) $(START_LINK)
$(START_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS)

#
# Eltorito start
#
START_ELTORITO_DATA	= start_eltorito
START_ELTORITO_EXEC	= start_eltorito.exec
START_ELTORITO_ASMOBJS	= start_eltorito_exec-start_eltorito.o
START_ELTORITO_OBJS	=
$(START_ELTORITO_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(START_ELTORITO_LINK)
$(START_ELTORITO_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS)

#
# UFS2 stage 1.5
#
UFS2_STAGE1_5_DATA	= ufs2_stage1_5
UFS2_STAGE1_5_EXEC	= ufs2_stage1_5.exec

UFS2_STAGE1_5_ASMOBJS	= ufs2_stage1_5_exec-asm.o \
			  ufs2_stage1_5_exec-start.o

UFS2_STAGE1_5_OBJS	= ufs2_stage1_5_exec-bios.o \
			  ufs2_stage1_5_exec-char_io.o \
			  ufs2_stage1_5_exec-common.o \
			  ufs2_stage1_5_exec-disk_io.o \
			  ufs2_stage1_5_exec-fsys_ufs2.o \
			  ufs2_stage1_5_exec-stage1_5.o

$(UFS2_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)

$(UFS2_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_UFS2=1 -DNO_BLOCK_FILES=1

$(UFS2_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_UFS2=1 -DNO_BLOCK_FILES=1

#
# UFS stage 1.5
#
UFS_STAGE1_5_DATA	= ufs_stage1_5
UFS_STAGE1_5_EXEC	= ufs_stage1_5.exec

UFS_STAGE1_5_ASMOBJS	= ufs_stage1_5_exec-asm.o \
			  ufs_stage1_5_exec-start.o

UFS_STAGE1_5_OBJS	= ufs_stage1_5_exec-bios.o \
			  ufs_stage1_5_exec-char_io.o \
			  ufs_stage1_5_exec-common.o \
			  ufs_stage1_5_exec-disk_io.o \
			  ufs_stage1_5_exec-fsys_ufs.o \
			  ufs_stage1_5_exec-stage1_5.o

$(UFS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)

$(UFS_STAGE1_5_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_UFS=1 -DNO_BLOCK_FILES=1

$(UFS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_UFS=1 -DNO_BLOCK_FILES=1

#
# ZFS stage 1.5
#
ZFS_STAGE1_5_DATA	= zfs_stage1_5
ZFS_STAGE1_5_EXEC	= zfs_stage1_5.exec

ZFS_STAGE1_5_ASMOBJS	= zfs_stage1_5_exec-asm.o \
			  zfs_stage1_5_exec-start.o

ZFS_STAGE1_5_OBJS	= zfs_stage1_5_exec-bios.o \
			  zfs_stage1_5_exec-char_io.o \
			  zfs_stage1_5_exec-common.o \
			  zfs_stage1_5_exec-disk_io.o \
			  zfs_stage1_5_exec-zfs_sha256.o \
			  zfs_stage1_5_exec-zfs_lzjb.o \
			  zfs_stage1_5_exec-zfs_fletcher.o \
			  zfs_stage1_5_exec-fsys_zfs.o \
			  zfs_stage1_5_exec-stage1_5.o

$(ZFS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)

$(ZFS_STAGE1_5_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_ZFS=1 -DNO_BLOCK_FILES=1

$(ZFS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_ZFS=1 -DNO_BLOCK_FILES=1

#
# VSTa FS
#
VSTAFS_STAGE1_5_DATA	= vstafs_stage1_5
VSTAFS_STAGE1_5_EXEC	= vstafs_stage1_5.exec

VSTAFS_STAGE1_5_ASMOBJS	= vstafs_stage1_5_exec-asm.o \
			  vstafs_stage1_5_exec-start.o

VSTAFS_STAGE1_5_OBJS	= vstafs_stage1_5_exec-bios.o \
			  vstafs_stage1_5_exec-char_io.o \
			  vstafs_stage1_5_exec-common.o \
			  vstafs_stage1_5_exec-disk_io.o \
			  vstafs_stage1_5_exec-fsys_vstafs.o \
			  vstafs_stage1_5_exec-stage1_5.o

$(VSTAFS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)

$(VSTAFS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_VSTAFS=1 -DNO_BLOCK_FILES=1

$(VSTAFS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_VSTAFS=1 -DNO_BLOCK_FILES=1

#
# SGI XFS stage 1.5
#
XFS_STAGE1_5_DATA	= xfs_stage1_5
XFS_STAGE1_5_EXEC	= xfs_stage1_5.exec

XFS_STAGE1_5_ASMOBJS	= xfs_stage1_5_exec-asm.o \
			  xfs_stage1_5_exec-start.o

XFS_STAGE1_5_OBJS	= xfs_stage1_5_exec-bios.o \
			  xfs_stage1_5_exec-char_io.o \
			  xfs_stage1_5_exec-common.o \
			  xfs_stage1_5_exec-disk_io.o \
			  xfs_stage1_5_exec-fsys_xfs.o \
			  xfs_stage1_5_exec-stage1_5.o

$(XFS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)

$(XFS_STAGE1_5_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_XFS=1 -DNO_BLOCK_FILES=1

$(XFS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
				-DFSYS_XFS=1 -DNO_BLOCK_FILES=1


INSTALL_TARGETS	= $(INSTALL_DATA:%=$(ROOT_BOOT_GRUB)/%) \
		$(SRC_ZFSINC_DIR)

#
# Source files to be installed in $(ROOT_SRC).
#
SRC_DIR		= $(ROOT_SRC)/stage2
SRC_ZFSINC_DIR	= $(SRC_DIR)/zfs-include
SRC_FILES	= Makefile.am Makefile.in apic.h apm.S asm.S bios.c boot.c \
		  builtins.c char_io.c cmdline.c common.c console.c defs.h \
		  dir.h disk_inode.h disk_inode_ffs.h disk_io.c fat.h \
		  filesys.h freebsd.h fs.h fsys_ext2fs.c fsys_fat.c \
		  fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \
		  zfs_sha256.c zfs_lzjb.c zfs_fletcher.c fsys_zfs.c \
		  fsys_reiserfs.c fsys_ufs.c fsys_ufs2.c fsys_vstafs.c \
		  fsys_xfs.c graphics.c graphics.h gunzip.c hercules.c \
		  hercules.h i386-elf.h imgact_aout.h iso9660.h jfs.h \
		  mb_header.h mb_info.h md5.c md5.h nbi.h nbloader.S \
		  pc_slice.h pxeloader.S serial.c serial.h setjmp.S shared.h \
		  size_test smp-imps.c smp-imps.h stage1_5.c stage2.c \
		  start.S start_eltorito.S term.h terminfo.c terminfo.h \
		  tparm.c tparm.h fsys_zfs.h ufs.h ufs2.h vstafs.h xfs.h
SRC_ZFSINC_FILES = dmu.h dmu_objset.h dnode.h dsl_dataset.h dsl_dir.h spa.h \
		uberblock_impl.h vdev_impl.h zap_impl.h zap_leaf.h zfs.h \
		zfs_acl.h zfs_znode.h zil.h zio.h zio_checksum.h

INSTALL_TARGETS	+= $(SRC_FILES:%=$(SRC_DIR)/%) \
		$(SRC_ZFSINC_FILES:%=$(SRC_ZFSINC_DIR)/%)


###############################################################################
all: $(BUILT_SOURCES) .WAIT $(LIBRARIES) $(PROGRAMS) $(DATA)

#
# BUILT_SOURCES
#
stage2_size.h: $(PRE_STAGE2_DATA)
	$(RM) $@
	set dummy `ls -l $(PRE_STAGE2_DATA)`; \
	echo "#define STAGE2_SIZE $$6" > $@

diskless_size.h: $(DISKLESS_DATA)
	$(RM) $@
	set dummy `ls -l $(DISKLESS_DATA)`; \
	echo "#define DISKLESS_SIZE $$6" > $@

#
# LIBRARIES
#
$(LIBGRUB): $(LIBGRUB_OBJS)
	$(RM) $@
	$(AR) cru $@ $(LIBGRUB_OBJS)
	$(RANLIB) $@

$(LIBGRUB_OBJS): $$(@:libgrub_a-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:libgrub_a-%.o=%.c)


#
# Diskless
#
$(DISKLESS_EXEC): $(DISKLESS_ASMOBJS) $(DISKLESS_OBJS) 
	$(RM) $@
	$(LINK) -o $@ $(DISKLESS_ASMOBJS) $(DISKLESS_OBJS) $(LIBS)

$(DISKLESS_ASMOBJS): $$(@:diskless_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:diskless_exec-%.o=%.S)

$(DISKLESS_OBJS): $$(@:diskless_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:diskless_exec-%.o=%.c)

#
# ext2fs stage 1.5
#
$(E2FS_STAGE1_5_EXEC): $(E2FS_STAGE1_5_ASMOBJS) $(E2FS_STAGE1_5_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(E2FS_STAGE1_5_ASMOBJS) $(E2FS_STAGE1_5_OBJS) $(LIBS)

$(E2FS_STAGE1_5_ASMOBJS): $$(@:e2fs_stage1_5_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:e2fs_stage1_5_exec-%.o=%.S)

$(E2FS_STAGE1_5_OBJS): $$(@:e2fs_stage1_5_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:e2fs_stage1_5_exec-%.o=%.c)

#
# FAT stage 1.5
#
$(FAT_STAGE1_5_EXEC): $(FAT_STAGE1_5_ASMOBJS) $(FAT_STAGE1_5_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(FAT_STAGE1_5_ASMOBJS) $(FAT_STAGE1_5_OBJS) $(LIBS)

$(FAT_STAGE1_5_ASMOBJS): $$(@:fat_stage1_5_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:fat_stage1_5_exec-%.o=%.S)

$(FAT_STAGE1_5_OBJS): $$(@:fat_stage1_5_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:fat_stage1_5_exec-%.o=%.c)

#
# FFS stage 1.5
#
$(FFS_STAGE1_5_EXEC): $(FFS_STAGE1_5_ASMOBJS) $(FFS_STAGE1_5_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(FFS_STAGE1_5_ASMOBJS) $(FFS_STAGE1_5_OBJS) $(LIBS)

$(FFS_STAGE1_5_ASMOBJS): $$(@:ffs_stage1_5_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:ffs_stage1_5_exec-%.o=%.S)

$(FFS_STAGE1_5_OBJS): $$(@:ffs_stage1_5_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:ffs_stage1_5_exec-%.o=%.c)

#
# ISO9660 stage 1.5
#
$(ISO9660_STAGE1_5_EXEC): $(ISO9660_STAGE1_5_ASMOBJS) $(ISO9660_STAGE1_5_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(ISO9660_STAGE1_5_ASMOBJS) $(ISO9660_STAGE1_5_OBJS) \
	    $(LIBS)

$(ISO9660_STAGE1_5_ASMOBJS): $$(@:iso9660_stage1_5_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:iso9660_stage1_5_exec-%.o=%.S)

$(ISO9660_STAGE1_5_OBJS): $$(@:iso9660_stage1_5_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:iso9660_stage1_5_exec-%.o=%.c)

#
# JFS stage 1.5
#
$(JFS_STAGE1_5_EXEC): $(JFS_STAGE1_5_ASMOBJS) $(JFS_STAGE1_5_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(JFS_STAGE1_5_ASMOBJS) $(JFS_STAGE1_5_OBJS) $(LIBS)

$(JFS_STAGE1_5_ASMOBJS): $$(@:jfs_stage1_5_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:jfs_stage1_5_exec-%.o=%.S)

$(JFS_STAGE1_5_OBJS): $$(@:jfs_stage1_5_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:jfs_stage1_5_exec-%.o=%.c)

#
# Minix stage 1.5
#
$(MINIX_STAGE1_5_EXEC): $(MINIX_STAGE1_5_ASMOBJS) $(MINIX_STAGE1_5_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(MINIX_STAGE1_5_ASMOBJS) $(MINIX_STAGE1_5_OBJS) $(LIBS)

$(MINIX_STAGE1_5_ASMOBJS): $$(@:minix_stage1_5_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:minix_stage1_5_exec-%.o=%.S)

$(MINIX_STAGE1_5_OBJS): $$(@:minix_stage1_5_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:minix_stage1_5_exec-%.o=%.c)

#
# nbgrub
#
$(NBGRUB_DATA): $(NBLOADER_DATA) $(DISKLESS_DATA)
	$(RM) $@
	cat $(NBLOADER_DATA) $(DISKLESS_DATA) > $@

#
# nbloader
#
$(NBLOADER_EXEC): $(NBLOADER_ASMOBJS) $(NBLOADER_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(NBLOADER_ASMOBJS) $(NBLOADER_OBJS) $(LIBS)

$(NBLOADER_ASMOBJS): $$(@:nbloader_exec-%.o=%.S) diskless_size.h
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:nbloader_exec-%.o=%.S)

$(NBLOADER_OBJS): $$(@:nbloader_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:nbloader_exec-%.o=%.c)

#
# Pre-stage2
#
$(PRE_STAGE2_EXEC): $(PRE_STAGE2_ASMOBJS) $(PRE_STAGE2_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(PRE_STAGE2_ASMOBJS) $(PRE_STAGE2_OBJS) $(LIBS)

$(PRE_STAGE2_ASMOBJS): $$(@:pre_stage2_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:pre_stage2_exec-%.o=%.S)

$(PRE_STAGE2_OBJS): $$(@:pre_stage2_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:pre_stage2_exec-%.o=%.c)

#
# pxegrub
#
$(PXEGRUB_DATA): $(PXELOADER_DATA) $(DISKLESS_DATA)
	$(RM) $@
	cat $(PXELOADER_DATA) $(DISKLESS_DATA) > $@

#
# pxeloader
#
$(PXELOADER_EXEC): $(PXELOADER_ASMOBJS) $(PXELOADER_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(PXELOADER_ASMOBJS) $(PXELOADER_OBJS) $(LIBS)

$(PXELOADER_ASMOBJS): $$(@:pxeloader_exec-%.o=%.S) diskless_size.h
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:pxeloader_exec-%.o=%.S)

$(PXELOADER_OBJS): $$(@:pxeloader_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:pxeloader_exec-%.o=%.c)

#
# ReiserFS stage 1.5
#
$(REISERFS_STAGE1_5_EXEC): $(REISERFS_STAGE1_5_ASMOBJS)	\
	$(REISERFS_STAGE1_5_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(REISERFS_STAGE1_5_ASMOBJS) $(REISERFS_STAGE1_5_OBJS) \
	    $(LIBS)

$(REISERFS_STAGE1_5_ASMOBJS): $$(@:reiserfs_stage1_5_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:reiserfs_stage1_5_exec-%.o=%.S)

$(REISERFS_STAGE1_5_OBJS): $$(@:reiserfs_stage1_5_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:reiserfs_stage1_5_exec-%.o=%.c)

#
# stage2
#
$(STAGE2_DATA): $(START_DATA) $(PRE_STAGE2_DATA)
	$(RM) $@
	cat $(START_DATA) $(PRE_STAGE2_DATA) > $@
#
# Eltorito stage2
#
$(STAGE2_ELTORITO_DATA): $(START_ELTORITO_DATA) $(PRE_STAGE2_DATA)
	$(RM) $@
	cat $(START_ELTORITO_DATA) $(PRE_STAGE2_DATA) > $@

#
# start
#
$(START_EXEC): $(START_ASMOBJS) $(START_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(START_ASMOBJS) $(START_OBJS) $(LIBS)

$(START_ASMOBJS): $$(@:start_exec-%.o=%.S) stage2_size.h
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:start_exec-%.o=%.S)

$(START_OBJS): $$(@:start_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:start_exec-%.o=%.c)

#
# Eltorito start
#
$(START_ELTORITO_EXEC): $(START_ELTORITO_ASMOBJS) $(START_ELTORITO_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(START_ELTORITO_ASMOBJS) $(START_ELTORITO_OBJS) $(LIBS)

$(START_ELTORITO_ASMOBJS): $$(@:start_eltorito_exec-%.o=%.S) stage2_size.h
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:start_eltorito_exec-%.o=%.S)

$(START_ELTORITO_OBJS): $$(@:start_eltorito_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:start_eltorito_exec-%.o=%.c)

#
# UFS2 stage 1.5
#
$(UFS2_STAGE1_5_EXEC): $(UFS2_STAGE1_5_ASMOBJS) $(UFS2_STAGE1_5_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(UFS2_STAGE1_5_ASMOBJS) $(UFS2_STAGE1_5_OBJS) $(LIBS)

$(UFS2_STAGE1_5_ASMOBJS): $$(@:ufs2_stage1_5_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:ufs2_stage1_5_exec-%.o=%.S)

$(UFS2_STAGE1_5_OBJS): $$(@:ufs2_stage1_5_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:ufs2_stage1_5_exec-%.o=%.c)

#
# UFS stage 1.5
#
$(UFS_STAGE1_5_EXEC): $(UFS_STAGE1_5_ASMOBJS) $(UFS_STAGE1_5_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(UFS_STAGE1_5_ASMOBJS) $(UFS_STAGE1_5_OBJS) $(LIBS)

$(UFS_STAGE1_5_ASMOBJS): $$(@:ufs_stage1_5_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:ufs_stage1_5_exec-%.o=%.S)

$(UFS_STAGE1_5_OBJS): $$(@:ufs_stage1_5_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:ufs_stage1_5_exec-%.o=%.c)

#
# ZFS stage 1.5
#
$(ZFS_STAGE1_5_EXEC): $(ZFS_STAGE1_5_ASMOBJS) $(ZFS_STAGE1_5_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(ZFS_STAGE1_5_ASMOBJS) $(ZFS_STAGE1_5_OBJS) $(LIBS)

$(ZFS_STAGE1_5_ASMOBJS): $$(@:zfs_stage1_5_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:zfs_stage1_5_exec-%.o=%.S)

$(ZFS_STAGE1_5_OBJS): $$(@:zfs_stage1_5_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:zfs_stage1_5_exec-%.o=%.c)

#
# VSTa stage 1.5
#
$(VSTAFS_STAGE1_5_EXEC): $(VSTAFS_STAGE1_5_ASMOBJS) $(VSTAFS_STAGE1_5_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(VSTAFS_STAGE1_5_ASMOBJS) $(VSTAFS_STAGE1_5_OBJS) $(LIBS)

$(VSTAFS_STAGE1_5_ASMOBJS): $$(@:vstafs_stage1_5_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:vstafs_stage1_5_exec-%.o=%.S)

$(VSTAFS_STAGE1_5_OBJS): $$(@:vstafs_stage1_5_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:vstafs_stage1_5_exec-%.o=%.c)

#
# SGI XFS stage 1.5
#
$(XFS_STAGE1_5_EXEC): $(XFS_STAGE1_5_ASMOBJS) $(XFS_STAGE1_5_OBJS)
	$(RM) $@
	$(LINK) -o $@ $(XFS_STAGE1_5_ASMOBJS) $(XFS_STAGE1_5_OBJS) $(LIBS)

$(XFS_STAGE1_5_ASMOBJS): $$(@:xfs_stage1_5_exec-%.o=%.S)
	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:xfs_stage1_5_exec-%.o=%.S)

$(XFS_STAGE1_5_OBJS): $$(@:xfs_stage1_5_exec-%.o=%.c)
	$(CC) $(CFLAGS) -c -o $@ $(@:xfs_stage1_5_exec-%.o=%.c)



install: all $(INSTALL_TARGETS)

$(ROOT_BOOT_GRUB)/%: $(ROOT_BOOT_GRUB) %
	$(INS.file)

$(SRC_DIR)/%: $(SRC_DIR) %
	$(INS.file)

$(SRC_ZFSINC_DIR)/%: $(SRC_ZFSINC_DIR) %
	$(INS.file)

$(ROOT_BOOT_GRUB) $(SRC_DIR) $(SRC_ZFSINC_DIR):
	$(INS.dir)

clean: _FORCE
	$(RM) *.o $(BUILT_SOURCES) $(LIBRARIES) $(PROGRAMS) $(NOINSTALL_DATA)

clobber: clean
	$(RM) $(INSTALL_DATA)

_FORCE: