17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
37c478bd9Sstevel@tonic-gate# Use is subject to license terms.
4a6f561b4SSašo Kiselkov# Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
5495a25e7SDan McDonald# Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
69890706eSHans Rosenfeld# Copyright 2016 Nexenta Systems, Inc.
7*f52943a9SAndy Fiddaman# Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
87c478bd9Sstevel@tonic-gate#
97c478bd9Sstevel@tonic-gateinclude ../../Makefile.grub
107c478bd9Sstevel@tonic-gateinclude ../Makefile.solaris.defs
117c478bd9Sstevel@tonic-gate
127c478bd9Sstevel@tonic-gate.SUFFIXES:
137c478bd9Sstevel@tonic-gate.SUFFIXES: .exec $(SUFFIXES)
147c478bd9Sstevel@tonic-gate
157c478bd9Sstevel@tonic-gate.exec:
167c478bd9Sstevel@tonic-gate	$(OBJCOPY) -O binary $< $@
177c478bd9Sstevel@tonic-gate
187c478bd9Sstevel@tonic-gate
197c478bd9Sstevel@tonic-gateINCLUDES	= -I. -I.. -I../stage1 -I../netboot
207c478bd9Sstevel@tonic-gateLIBS		=
217c478bd9Sstevel@tonic-gate
22621be8d0SHans RosenfeldFSYS_CFLAGS	= -DFSYS_UFS=1 -DFSYS_FAT=1 \
23621be8d0SHans Rosenfeld		  -DFSYS_ZFS=1 -DFSYS_ISO9660=1 \
247c478bd9Sstevel@tonic-gate		  -DUSE_MD5_PASSWORDS=1
257c478bd9Sstevel@tonic-gate$(STAGE2_NETBOOT)TFTP_CFLAGS	= -DFSYS_TFTP=1
267c478bd9Sstevel@tonic-gate$(OPTION_FS)FSYS_CFLAGS	+= -DFSYS_MINIX=1 -DFSYS_JFS=1 -DFSYS_XFS=1 \
27621be8d0SHans Rosenfeld		  -DSYS_VSTAFS=1 -DFSYS_FFS=1 -DFSYS_REISERFS=1 \
28621be8d0SHans Rosenfeld		  -DFSYS_EXT2FS=1 -DFSYS_UFS2=1
297c478bd9Sstevel@tonic-gateGRAPHICS_CFLAGS	= -DSUPPORT_GRAPHICS=1
307c478bd9Sstevel@tonic-gate# HERCULES_CFLAGS	= -DSUPPORT_HERCULES=1
317c478bd9Sstevel@tonic-gateNETBOOT_CFLAGS	= -DSUPPORT_NETBOOT=1
327c478bd9Sstevel@tonic-gateSERIAL_CFLAGS	= -DSUPPORT_SERIAL=1
337c478bd9Sstevel@tonic-gateGRUB_CFLAGS	= -O2 -I../lib -DGRUB_UTIL=1 \
34621be8d0SHans Rosenfeld		  -DFSYS_ISO9660=1 -DFSYS_ZFS=1 -DFSYS_FAT=1 \
35621be8d0SHans Rosenfeld		  -DFSYS_UFS=1 \
367c478bd9Sstevel@tonic-gate		  -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1
377c478bd9Sstevel@tonic-gate$(OPTION_FS)GRUB_CFLAGS	+= -DFSYS_MINIX=1 -DFSYS_JFS=1 -DFSYS_XFS=1 \
38621be8d0SHans Rosenfeld		  -DSYS_VSTAFS=1 -DFSYS_FFS=1 -DFSYS_REISERFS=1 \
39621be8d0SHans Rosenfeld		  -DFSYS_EXT2FS=1 -DFSYS_UFS2=1
407c478bd9Sstevel@tonic-gate# GRUB_CFLAGS	+= -DSUPPORT_HERCULES=1
417c478bd9Sstevel@tonic-gateSTAGE1_5_CFLAGS	= $(STAGE2_CFLAGS) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1
427c478bd9Sstevel@tonic-gateSTAGE2_CFLAGS	= -Os -fno-builtin -nostdinc \
437c478bd9Sstevel@tonic-gate		  $(SERIAL_CFLAGS) $(GRAPHICS_CFLAGS)
447c478bd9Sstevel@tonic-gate$(STAGE2_NETBOOT)STAGE2_CFLAGS	+= $(NETBOOT_CFLAGS)
457c478bd9Sstevel@tonic-gate#STAGE2_CFLAGS	+= $(HERCULES_CFLAGS)
467c478bd9Sstevel@tonic-gate
47*f52943a9SAndy FiddamanNBLOADER_LINK	= -nostdlib -N -Ttext 0 $(GLDTARGET)
48*f52943a9SAndy FiddamanPRE_STAGE2_LINK	= -nostdlib -N -Ttext 8200 $(GLDTARGET)
49*f52943a9SAndy FiddamanPXELOADER_LINK	= -nostdlib -N -Ttext 7C00 $(GLDTARGET)
50*f52943a9SAndy FiddamanSTAGE1_5_LINK	= -nostdlib -N -Ttext 2000 $(GLDTARGET)
51*f52943a9SAndy FiddamanSTART_ELTORITO_LINK = -nostdlib -N -Ttext 7C00 $(GLDTARGET)
52*f52943a9SAndy FiddamanSTART_LINK	= -nostdlib -N -Ttext 8000 $(GLDTARGET)
537c478bd9Sstevel@tonic-gate
547c478bd9Sstevel@tonic-gateLIBDRIVERS	= ../netboot/libdrivers.a
557c478bd9Sstevel@tonic-gate
567c478bd9Sstevel@tonic-gate
577c478bd9Sstevel@tonic-gateBUILT_SOURCES	= stage2_size.h
587c478bd9Sstevel@tonic-gateBUILT_SOURCES	+= diskless_size.h
597c478bd9Sstevel@tonic-gate
607c478bd9Sstevel@tonic-gate
617c478bd9Sstevel@tonic-gateLIBRARIES	= $(LIBGRUB)
627c478bd9Sstevel@tonic-gate
637c478bd9Sstevel@tonic-gateLIBGRUB		= libgrub.a
647c478bd9Sstevel@tonic-gateLIBGRUB_OBJS	= libgrub_a-boot.o		\
657c478bd9Sstevel@tonic-gate		  libgrub_a-builtins.o		\
667c478bd9Sstevel@tonic-gate		  libgrub_a-char_io.o		\
677c478bd9Sstevel@tonic-gate		  libgrub_a-cmdline.o		\
687c478bd9Sstevel@tonic-gate		  libgrub_a-common.o		\
697c478bd9Sstevel@tonic-gate		  libgrub_a-disk_io.o		\
70a5602e1bSKeith M Wesolowski		  libgrub_a-expand.o		\
717c478bd9Sstevel@tonic-gate		  libgrub_a-fsys_ext2fs.o	\
727c478bd9Sstevel@tonic-gate		  libgrub_a-fsys_fat.o		\
737c478bd9Sstevel@tonic-gate		  libgrub_a-fsys_ffs.o		\
747c478bd9Sstevel@tonic-gate		  libgrub_a-fsys_iso9660.o	\
757c478bd9Sstevel@tonic-gate		  libgrub_a-fsys_jfs.o		\
767c478bd9Sstevel@tonic-gate		  libgrub_a-fsys_minix.o	\
777c478bd9Sstevel@tonic-gate		  libgrub_a-fsys_reiserfs.o	\
78b1b8ab34Slling		  libgrub_a-zfs_sha256.o	\
79b1b8ab34Slling		  libgrub_a-zfs_lzjb.o		\
80a6f561b4SSašo Kiselkov		  libgrub_a-zfs_lz4.o		\
81b1b8ab34Slling		  libgrub_a-zfs_fletcher.o	\
82b1b8ab34Slling		  libgrub_a-fsys_zfs.o		\
837c478bd9Sstevel@tonic-gate		  libgrub_a-fsys_ufs.o		\
847c478bd9Sstevel@tonic-gate		  libgrub_a-fsys_ufs2.o		\
857c478bd9Sstevel@tonic-gate		  libgrub_a-fsys_vstafs.o	\
867c478bd9Sstevel@tonic-gate		  libgrub_a-fsys_xfs.o		\
877c478bd9Sstevel@tonic-gate		  libgrub_a-graphics.o		\
887c478bd9Sstevel@tonic-gate		  libgrub_a-gunzip.o		\
897c478bd9Sstevel@tonic-gate		  libgrub_a-md5.o		\
909890706eSHans Rosenfeld		  libgrub_a-moddiv.o		\
917c478bd9Sstevel@tonic-gate		  libgrub_a-serial.o		\
927c478bd9Sstevel@tonic-gate		  libgrub_a-stage2.o		\
937c478bd9Sstevel@tonic-gate		  libgrub_a-terminfo.o		\
947c478bd9Sstevel@tonic-gate		  libgrub_a-tparm.o
957c478bd9Sstevel@tonic-gate$(LIBGRUB_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(GRUB_CFLAGS)
967c478bd9Sstevel@tonic-gate
977c478bd9Sstevel@tonic-gate
987c478bd9Sstevel@tonic-gate# Will be installed in $(ROOT_BOOT_GRUB).
997c478bd9Sstevel@tonic-gateINSTALL_DATA	= $(E2FS_STAGE1_5_DATA)		\
1007c478bd9Sstevel@tonic-gate		  $(FAT_STAGE1_5_DATA)		\
1017c478bd9Sstevel@tonic-gate		  $(FFS_STAGE1_5_DATA)		\
1027c478bd9Sstevel@tonic-gate		  $(ISO9660_STAGE1_5_DATA)	\
1037c478bd9Sstevel@tonic-gate		  $(JFS_STAGE1_5_DATA)		\
1047c478bd9Sstevel@tonic-gate		  $(MINIX_STAGE1_5_DATA)	\
1057c478bd9Sstevel@tonic-gate		  $(NBGRUB_DATA)		\
1067c478bd9Sstevel@tonic-gate		  $(PXEGRUB_DATA)		\
1077c478bd9Sstevel@tonic-gate		  $(REISERFS_STAGE1_5_DATA)	\
1087c478bd9Sstevel@tonic-gate		  $(STAGE2_DATA)		\
1097c478bd9Sstevel@tonic-gate		  $(STAGE2_ELTORITO_DATA)	\
1107c478bd9Sstevel@tonic-gate		  $(UFS2_STAGE1_5_DATA)		\
1117c478bd9Sstevel@tonic-gate		  $(UFS_STAGE1_5_DATA)		\
112b1b8ab34Slling		  $(ZFS_STAGE1_5_DATA)		\
1137c478bd9Sstevel@tonic-gate		  $(VSTAFS_STAGE1_5_DATA)	\
1147c478bd9Sstevel@tonic-gate		  $(XFS_STAGE1_5_DATA)
1157c478bd9Sstevel@tonic-gate
1167c478bd9Sstevel@tonic-gate# Won't be installed.
1177c478bd9Sstevel@tonic-gateNOINSTALL_DATA	= $(DISKLESS_DATA)		\
1187c478bd9Sstevel@tonic-gate		  $(NBLOADER_DATA)		\
1197c478bd9Sstevel@tonic-gate		  $(PRE_STAGE2_DATA)		\
1207c478bd9Sstevel@tonic-gate		  $(PXELOADER_DATA)		\
1217c478bd9Sstevel@tonic-gate		  $(START_DATA)			\
1227c478bd9Sstevel@tonic-gate		  $(START_ELTORITO_DATA)
1237c478bd9Sstevel@tonic-gate
1247c478bd9Sstevel@tonic-gateDATA		= $(INSTALL_DATA) $(NOINSTALL_DATA)
1257c478bd9Sstevel@tonic-gate
1267c478bd9Sstevel@tonic-gate
1277c478bd9Sstevel@tonic-gatePROGRAMS	= $(DISKLESS_EXEC)		\
1287c478bd9Sstevel@tonic-gate		  $(E2FS_STAGE1_5_EXEC)		\
1297c478bd9Sstevel@tonic-gate		  $(FAT_STAGE1_5_EXEC)		\
1307c478bd9Sstevel@tonic-gate		  $(FFS_STAGE1_5_EXEC)		\
1317c478bd9Sstevel@tonic-gate		  $(ISO9660_STAGE1_5_EXEC)	\
1327c478bd9Sstevel@tonic-gate		  $(JFS_STAGE1_5_EXEC)		\
1337c478bd9Sstevel@tonic-gate		  $(MINIX_STAGE1_5_EXEC)	\
1347c478bd9Sstevel@tonic-gate		  $(NBLOADER_EXEC)		\
1357c478bd9Sstevel@tonic-gate		  $(PRE_STAGE2_EXEC)		\
1367c478bd9Sstevel@tonic-gate		  $(PXELOADER_EXEC)		\
1379890706eSHans Rosenfeld		  $(REISERFS_STAGE1_5_EXEC)	\
1387c478bd9Sstevel@tonic-gate		  $(START_EXEC)			\
1397c478bd9Sstevel@tonic-gate		  $(START_ELTORITO_EXEC)	\
1407c478bd9Sstevel@tonic-gate		  $(UFS2_STAGE1_5_EXEC)		\
1417c478bd9Sstevel@tonic-gate		  $(UFS_STAGE1_5_EXEC)		\
142b1b8ab34Slling		  $(ZFS_STAGE1_5_EXEC)		\
1437c478bd9Sstevel@tonic-gate		  $(VSTAFS_STAGE1_5_EXEC)	\
1447c478bd9Sstevel@tonic-gate		  $(XFS_STAGE1_5_EXEC)
1457c478bd9Sstevel@tonic-gate
1467c478bd9Sstevel@tonic-gate
1477c478bd9Sstevel@tonic-gate#
1487c478bd9Sstevel@tonic-gate# diskless
1497c478bd9Sstevel@tonic-gate#
1507c478bd9Sstevel@tonic-gateDISKLESS_DATA		= diskless
1517c478bd9Sstevel@tonic-gateDISKLESS_EXEC		= diskless.exec
1527c478bd9Sstevel@tonic-gateDISKLESS_ASMOBJS	= diskless_exec-asm.o
1537c478bd9Sstevel@tonic-gate
1547c478bd9Sstevel@tonic-gateDISKLESS_OBJS		= diskless_exec-bios.o		\
1557c478bd9Sstevel@tonic-gate			  diskless_exec-boot.o		\
1567c478bd9Sstevel@tonic-gate			  diskless_exec-builtins.o	\
1577c478bd9Sstevel@tonic-gate			  diskless_exec-char_io.o	\
1587c478bd9Sstevel@tonic-gate			  diskless_exec-cmdline.o	\
1597c478bd9Sstevel@tonic-gate			  diskless_exec-common.o	\
1607c478bd9Sstevel@tonic-gate			  diskless_exec-console.o	\
1617c478bd9Sstevel@tonic-gate			  diskless_exec-disk_io.o	\
162a5602e1bSKeith M Wesolowski			  diskless_exec-expand.o	\
1637c478bd9Sstevel@tonic-gate			  diskless_exec-fsys_ext2fs.o	\
1647c478bd9Sstevel@tonic-gate			  diskless_exec-fsys_fat.o	\
1657c478bd9Sstevel@tonic-gate			  diskless_exec-fsys_ffs.o	\
1667c478bd9Sstevel@tonic-gate			  diskless_exec-fsys_iso9660.o	\
1677c478bd9Sstevel@tonic-gate			  diskless_exec-fsys_jfs.o	\
1687c478bd9Sstevel@tonic-gate			  diskless_exec-fsys_minix.o	\
1697c478bd9Sstevel@tonic-gate			  diskless_exec-fsys_reiserfs.o	\
170b1b8ab34Slling			  diskless_exec-zfs_sha256.o	\
171b1b8ab34Slling			  diskless_exec-zfs_lzjb.o	\
172a6f561b4SSašo Kiselkov			  diskless_exec-zfs_lz4.o	\
173b1b8ab34Slling			  diskless_exec-zfs_fletcher.o	\
174b1b8ab34Slling			  diskless_exec-fsys_zfs.o	\
1757c478bd9Sstevel@tonic-gate			  diskless_exec-fsys_ufs.o	\
1767c478bd9Sstevel@tonic-gate			  diskless_exec-fsys_ufs2.o	\
1777c478bd9Sstevel@tonic-gate			  diskless_exec-fsys_vstafs.o	\
1787c478bd9Sstevel@tonic-gate			  diskless_exec-fsys_xfs.o	\
1797c478bd9Sstevel@tonic-gate			  diskless_exec-graphics.o	\
1807c478bd9Sstevel@tonic-gate			  diskless_exec-gunzip.o	\
1817c478bd9Sstevel@tonic-gate			  diskless_exec-hercules.o	\
1827c478bd9Sstevel@tonic-gate			  diskless_exec-md5.o		\
1839890706eSHans Rosenfeld			  diskless_exec-moddiv.o	\
1847c478bd9Sstevel@tonic-gate			  diskless_exec-serial.o	\
1857c478bd9Sstevel@tonic-gate			  diskless_exec-smp-imps.o	\
1867c478bd9Sstevel@tonic-gate			  diskless_exec-stage2.o	\
1877c478bd9Sstevel@tonic-gate			  diskless_exec-terminfo.o	\
1887c478bd9Sstevel@tonic-gate			  diskless_exec-tparm.o
1897c478bd9Sstevel@tonic-gate
1907c478bd9Sstevel@tonic-gate$(DISKLESS_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(PRE_STAGE2_LINK)
1917c478bd9Sstevel@tonic-gate$(DISKLESS_EXEC)	:= LIBS = $(LIBDRIVERS)
1927c478bd9Sstevel@tonic-gate
1937c478bd9Sstevel@tonic-gate$(DISKLESS_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS) \
1947c478bd9Sstevel@tonic-gate				$(FSYS_CFLAGS) -DFSYS_TFTP=1 \
1957c478bd9Sstevel@tonic-gate				-DSUPPORT_DISKLESS=1
1967c478bd9Sstevel@tonic-gate
1977c478bd9Sstevel@tonic-gate$(DISKLESS_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE2_CFLAGS) \
1987c478bd9Sstevel@tonic-gate				$(FSYS_CFLAGS) -DFSYS_TFTP=1 \
1997c478bd9Sstevel@tonic-gate				-DSUPPORT_DISKLESS=1
2007c478bd9Sstevel@tonic-gate
2017c478bd9Sstevel@tonic-gate#
2027c478bd9Sstevel@tonic-gate# ext2fs stage 1.5
2037c478bd9Sstevel@tonic-gate#
2047c478bd9Sstevel@tonic-gateE2FS_STAGE1_5_DATA	= e2fs_stage1_5
2057c478bd9Sstevel@tonic-gateE2FS_STAGE1_5_EXEC	= e2fs_stage1_5.exec
2067c478bd9Sstevel@tonic-gate
207a5602e1bSKeith M WesolowskiE2FS_STAGE1_5_ASMOBJS	= e2fs_stage1_5_exec-start.o \
208a5602e1bSKeith M Wesolowski			  e2fs_stage1_5_exec-asm.o
2097c478bd9Sstevel@tonic-gate
2107c478bd9Sstevel@tonic-gateE2FS_STAGE1_5_OBJS	= e2fs_stage1_5_exec-bios.o \
2117c478bd9Sstevel@tonic-gate			  e2fs_stage1_5_exec-char_io.o \
2127c478bd9Sstevel@tonic-gate			  e2fs_stage1_5_exec-common.o \
2137c478bd9Sstevel@tonic-gate			  e2fs_stage1_5_exec-disk_io.o \
2147c478bd9Sstevel@tonic-gate			  e2fs_stage1_5_exec-fsys_ext2fs.o \
2159890706eSHans Rosenfeld			  e2fs_stage1_5_exec-moddiv.o \
2167c478bd9Sstevel@tonic-gate			  e2fs_stage1_5_exec-stage1_5.o
2177c478bd9Sstevel@tonic-gate
2187c478bd9Sstevel@tonic-gate$(E2FS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)
2197c478bd9Sstevel@tonic-gate
2207c478bd9Sstevel@tonic-gate$(E2FS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
2217c478bd9Sstevel@tonic-gate				-DFSYS_EXT2FS=1 -DNO_BLOCK_FILES=1
2227c478bd9Sstevel@tonic-gate
2237c478bd9Sstevel@tonic-gate$(E2FS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
2247c478bd9Sstevel@tonic-gate				-DFSYS_EXT2FS=1 -DNO_BLOCK_FILES=1
2257c478bd9Sstevel@tonic-gate
2267c478bd9Sstevel@tonic-gate#
2277c478bd9Sstevel@tonic-gate# FAT stage 1.5
2287c478bd9Sstevel@tonic-gate#
2297c478bd9Sstevel@tonic-gateFAT_STAGE1_5_DATA	= fat_stage1_5
2307c478bd9Sstevel@tonic-gateFAT_STAGE1_5_EXEC	= fat_stage1_5.exec
2317c478bd9Sstevel@tonic-gate
232a5602e1bSKeith M WesolowskiFAT_STAGE1_5_ASMOBJS	= fat_stage1_5_exec-start.o \
233a5602e1bSKeith M Wesolowski			  fat_stage1_5_exec-asm.o
2347c478bd9Sstevel@tonic-gate
2357c478bd9Sstevel@tonic-gateFAT_STAGE1_5_OBJS	= fat_stage1_5_exec-bios.o \
2367c478bd9Sstevel@tonic-gate			  fat_stage1_5_exec-char_io.o \
2377c478bd9Sstevel@tonic-gate			  fat_stage1_5_exec-common.o \
2387c478bd9Sstevel@tonic-gate			  fat_stage1_5_exec-disk_io.o \
2397c478bd9Sstevel@tonic-gate			  fat_stage1_5_exec-fsys_fat.o \
2409890706eSHans Rosenfeld			  fat_stage1_5_exec-moddiv.o \
2417c478bd9Sstevel@tonic-gate			  fat_stage1_5_exec-stage1_5.o
2427c478bd9Sstevel@tonic-gate
2437c478bd9Sstevel@tonic-gate$(FAT_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)
2447c478bd9Sstevel@tonic-gate
2457c478bd9Sstevel@tonic-gate$(FAT_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
2467c478bd9Sstevel@tonic-gate				-DFSYS_FAT=1 -DNO_BLOCK_FILES=1
2477c478bd9Sstevel@tonic-gate
2487c478bd9Sstevel@tonic-gate$(FAT_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
2497c478bd9Sstevel@tonic-gate				-DFSYS_FAT=1 -DNO_BLOCK_FILES=1
2507c478bd9Sstevel@tonic-gate
2517c478bd9Sstevel@tonic-gate#
2527c478bd9Sstevel@tonic-gate# FFS stage 1.5
2537c478bd9Sstevel@tonic-gate#
2547c478bd9Sstevel@tonic-gateFFS_STAGE1_5_DATA	= ffs_stage1_5
2557c478bd9Sstevel@tonic-gateFFS_STAGE1_5_EXEC	= ffs_stage1_5.exec
2567c478bd9Sstevel@tonic-gate
257a5602e1bSKeith M WesolowskiFFS_STAGE1_5_ASMOBJS	= ffs_stage1_5_exec-start.o \
258a5602e1bSKeith M Wesolowski			  ffs_stage1_5_exec-asm.o
2597c478bd9Sstevel@tonic-gate
2607c478bd9Sstevel@tonic-gateFFS_STAGE1_5_OBJS	= ffs_stage1_5_exec-bios.o \
2617c478bd9Sstevel@tonic-gate			  ffs_stage1_5_exec-char_io.o \
2627c478bd9Sstevel@tonic-gate			  ffs_stage1_5_exec-common.o \
2637c478bd9Sstevel@tonic-gate			  ffs_stage1_5_exec-disk_io.o \
2647c478bd9Sstevel@tonic-gate			  ffs_stage1_5_exec-fsys_ffs.o \
2659890706eSHans Rosenfeld			  ffs_stage1_5_exec-moddiv.o \
2667c478bd9Sstevel@tonic-gate			  ffs_stage1_5_exec-stage1_5.o
2677c478bd9Sstevel@tonic-gate
2687c478bd9Sstevel@tonic-gate$(FFS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)
2697c478bd9Sstevel@tonic-gate
2707c478bd9Sstevel@tonic-gate$(FFS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
2717c478bd9Sstevel@tonic-gate				-DFSYS_FFS=1 -DNO_BLOCK_FILES=1
2727c478bd9Sstevel@tonic-gate
2737c478bd9Sstevel@tonic-gate$(FFS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
2747c478bd9Sstevel@tonic-gate				-DFSYS_FFS=1 -DNO_BLOCK_FILES=1
2757c478bd9Sstevel@tonic-gate
2767c478bd9Sstevel@tonic-gate#
2777c478bd9Sstevel@tonic-gate# ISO9660 stage 1.5
2787c478bd9Sstevel@tonic-gate#
2797c478bd9Sstevel@tonic-gateISO9660_STAGE1_5_DATA	= iso9660_stage1_5
2807c478bd9Sstevel@tonic-gateISO9660_STAGE1_5_EXEC	= iso9660_stage1_5.exec
2817c478bd9Sstevel@tonic-gate
282a5602e1bSKeith M WesolowskiISO9660_STAGE1_5_ASMOBJS = iso9660_stage1_5_exec-start_eltorito.o \
283a5602e1bSKeith M Wesolowski			   iso9660_stage1_5_exec-asm.o
2847c478bd9Sstevel@tonic-gate
2857c478bd9Sstevel@tonic-gateISO9660_STAGE1_5_OBJS	= iso9660_stage1_5_exec-bios.o \
2867c478bd9Sstevel@tonic-gate			  iso9660_stage1_5_exec-char_io.o \
2877c478bd9Sstevel@tonic-gate			  iso9660_stage1_5_exec-common.o \
2887c478bd9Sstevel@tonic-gate			  iso9660_stage1_5_exec-disk_io.o \
2897c478bd9Sstevel@tonic-gate			  iso9660_stage1_5_exec-fsys_iso9660.o \
2909890706eSHans Rosenfeld			  iso9660_stage1_5_exec-moddiv.o \
2917c478bd9Sstevel@tonic-gate			  iso9660_stage1_5_exec-stage1_5.o
2927c478bd9Sstevel@tonic-gate
2937c478bd9Sstevel@tonic-gate$(ISO9660_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)
2947c478bd9Sstevel@tonic-gate
2957c478bd9Sstevel@tonic-gate$(ISO9660_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) \
2967c478bd9Sstevel@tonic-gate				$(STAGE1_5_CFLAGS) \
2977c478bd9Sstevel@tonic-gate				-DFSYS_ISO9660=1 -DNO_BLOCK_FILES=1
2987c478bd9Sstevel@tonic-gate
2997c478bd9Sstevel@tonic-gate$(ISO9660_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
3007c478bd9Sstevel@tonic-gate				-DFSYS_ISO9660=1 -DNO_BLOCK_FILES=1
3017c478bd9Sstevel@tonic-gate
3027c478bd9Sstevel@tonic-gate#
3037c478bd9Sstevel@tonic-gate# IBM JFS stage 1.5
3047c478bd9Sstevel@tonic-gate#
3057c478bd9Sstevel@tonic-gateJFS_STAGE1_5_DATA	= jfs_stage1_5
3067c478bd9Sstevel@tonic-gateJFS_STAGE1_5_EXEC	= jfs_stage1_5.exec
3077c478bd9Sstevel@tonic-gate
308a5602e1bSKeith M WesolowskiJFS_STAGE1_5_ASMOBJS	= jfs_stage1_5_exec-start.o \
309a5602e1bSKeith M Wesolowski			  jfs_stage1_5_exec-asm.o
3107c478bd9Sstevel@tonic-gate
3117c478bd9Sstevel@tonic-gateJFS_STAGE1_5_OBJS	= jfs_stage1_5_exec-bios.o \
3127c478bd9Sstevel@tonic-gate			  jfs_stage1_5_exec-char_io.o \
3137c478bd9Sstevel@tonic-gate			  jfs_stage1_5_exec-common.o \
3147c478bd9Sstevel@tonic-gate			  jfs_stage1_5_exec-disk_io.o \
3157c478bd9Sstevel@tonic-gate			  jfs_stage1_5_exec-fsys_jfs.o \
3169890706eSHans Rosenfeld			  jfs_stage1_5_exec-moddiv.o \
3177c478bd9Sstevel@tonic-gate			  jfs_stage1_5_exec-stage1_5.o
3187c478bd9Sstevel@tonic-gate
3197c478bd9Sstevel@tonic-gate$(JFS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)
3207c478bd9Sstevel@tonic-gate
3217c478bd9Sstevel@tonic-gate$(JFS_STAGE1_5_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
3227c478bd9Sstevel@tonic-gate				-DFSYS_JFS=1 -DNO_BLOCK_FILES=1
3237c478bd9Sstevel@tonic-gate
3247c478bd9Sstevel@tonic-gate$(JFS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
3257c478bd9Sstevel@tonic-gate				-DFSYS_JFS=1 -DNO_BLOCK_FILES=1
3267c478bd9Sstevel@tonic-gate
3277c478bd9Sstevel@tonic-gate#
3287c478bd9Sstevel@tonic-gate# Minix fs stage 1.5
3297c478bd9Sstevel@tonic-gate#
3307c478bd9Sstevel@tonic-gateMINIX_STAGE1_5_DATA	= minix_stage1_5
3317c478bd9Sstevel@tonic-gateMINIX_STAGE1_5_EXEC	= minix_stage1_5.exec
3327c478bd9Sstevel@tonic-gate
333a5602e1bSKeith M WesolowskiMINIX_STAGE1_5_ASMOBJS	= minix_stage1_5_exec-start.o \
334a5602e1bSKeith M Wesolowski			  minix_stage1_5_exec-asm.o
3357c478bd9Sstevel@tonic-gate
3367c478bd9Sstevel@tonic-gateMINIX_STAGE1_5_OBJS	= minix_stage1_5_exec-bios.o \
3377c478bd9Sstevel@tonic-gate			  minix_stage1_5_exec-char_io.o \
3387c478bd9Sstevel@tonic-gate			  minix_stage1_5_exec-common.o \
3397c478bd9Sstevel@tonic-gate			  minix_stage1_5_exec-disk_io.o \
3407c478bd9Sstevel@tonic-gate			  minix_stage1_5_exec-fsys_minix.o \
3419890706eSHans Rosenfeld			  minix_stage1_5_exec-moddiv.o \
3427c478bd9Sstevel@tonic-gate			  minix_stage1_5_exec-stage1_5.o
3437c478bd9Sstevel@tonic-gate
3447c478bd9Sstevel@tonic-gate$(MINIX_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)
3457c478bd9Sstevel@tonic-gate
3467c478bd9Sstevel@tonic-gate$(MINIX_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
3477c478bd9Sstevel@tonic-gate				-DFSYS_MINIX=1 -DNO_BLOCK_FILES=1
3487c478bd9Sstevel@tonic-gate
3497c478bd9Sstevel@tonic-gate$(MINIX_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
3507c478bd9Sstevel@tonic-gate				-DFSYS_MINIX=1 -DNO_BLOCK_FILES=1
3517c478bd9Sstevel@tonic-gate
3527c478bd9Sstevel@tonic-gate#
3537c478bd9Sstevel@tonic-gate# nbgrub
3547c478bd9Sstevel@tonic-gate#
3557c478bd9Sstevel@tonic-gateNBGRUB_DATA		= nbgrub
3567c478bd9Sstevel@tonic-gate
3577c478bd9Sstevel@tonic-gate#
3587c478bd9Sstevel@tonic-gate# nbloader
3597c478bd9Sstevel@tonic-gate#
3607c478bd9Sstevel@tonic-gateNBLOADER_DATA		= nbloader
3617c478bd9Sstevel@tonic-gateNBLOADER_EXEC		= nbloader.exec
3627c478bd9Sstevel@tonic-gateNBLOADER_ASMOBJS	= nbloader_exec-nbloader.o
3637c478bd9Sstevel@tonic-gateNBLOADER_OBJS		=
3647c478bd9Sstevel@tonic-gate$(NBLOADER_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(NBLOADER_LINK)
3657c478bd9Sstevel@tonic-gate$(NBLOADER_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS)
3667c478bd9Sstevel@tonic-gate
3677c478bd9Sstevel@tonic-gate#
3687c478bd9Sstevel@tonic-gate# Pre-stage2
3697c478bd9Sstevel@tonic-gate#
3707c478bd9Sstevel@tonic-gatePRE_STAGE2_DATA		= pre_stage2
3717c478bd9Sstevel@tonic-gatePRE_STAGE2_EXEC		= pre_stage2.exec
3727c478bd9Sstevel@tonic-gatePRE_STAGE2_ASMOBJS	= pre_stage2_exec-asm.o
3737c478bd9Sstevel@tonic-gate
3747c478bd9Sstevel@tonic-gatePRE_STAGE2_OBJS		= pre_stage2_exec-bios.o \
3757c478bd9Sstevel@tonic-gate			  pre_stage2_exec-boot.o \
3767c478bd9Sstevel@tonic-gate			  pre_stage2_exec-builtins.o \
3777c478bd9Sstevel@tonic-gate			  pre_stage2_exec-char_io.o \
3787c478bd9Sstevel@tonic-gate			  pre_stage2_exec-cmdline.o \
3797c478bd9Sstevel@tonic-gate			  pre_stage2_exec-common.o \
3807c478bd9Sstevel@tonic-gate			  pre_stage2_exec-console.o \
3817c478bd9Sstevel@tonic-gate			  pre_stage2_exec-disk_io.o \
382a5602e1bSKeith M Wesolowski			  pre_stage2_exec-expand.o \
3837c478bd9Sstevel@tonic-gate			  pre_stage2_exec-fsys_ext2fs.o \
3847c478bd9Sstevel@tonic-gate			  pre_stage2_exec-fsys_fat.o \
3857c478bd9Sstevel@tonic-gate			  pre_stage2_exec-fsys_ffs.o \
3867c478bd9Sstevel@tonic-gate			  pre_stage2_exec-fsys_iso9660.o \
3877c478bd9Sstevel@tonic-gate			  pre_stage2_exec-fsys_jfs.o \
3887c478bd9Sstevel@tonic-gate			  pre_stage2_exec-fsys_minix.o \
3897c478bd9Sstevel@tonic-gate			  pre_stage2_exec-fsys_reiserfs.o \
390b1b8ab34Slling			  pre_stage2_exec-zfs_sha256.o \
391b1b8ab34Slling			  pre_stage2_exec-zfs_lzjb.o \
392a6f561b4SSašo Kiselkov			  pre_stage2_exec-zfs_lz4.o \
393b1b8ab34Slling			  pre_stage2_exec-zfs_fletcher.o \
394b1b8ab34Slling			  pre_stage2_exec-fsys_zfs.o \
3957c478bd9Sstevel@tonic-gate			  pre_stage2_exec-fsys_ufs.o \
3967c478bd9Sstevel@tonic-gate			  pre_stage2_exec-fsys_ufs2.o \
3977c478bd9Sstevel@tonic-gate			  pre_stage2_exec-fsys_vstafs.o \
3987c478bd9Sstevel@tonic-gate			  pre_stage2_exec-fsys_xfs.o \
3997c478bd9Sstevel@tonic-gate			  pre_stage2_exec-graphics.o \
4007c478bd9Sstevel@tonic-gate			  pre_stage2_exec-gunzip.o \
4017c478bd9Sstevel@tonic-gate			  pre_stage2_exec-hercules.o \
4027c478bd9Sstevel@tonic-gate			  pre_stage2_exec-md5.o \
4039890706eSHans Rosenfeld			  pre_stage2_exec-moddiv.o \
4047c478bd9Sstevel@tonic-gate			  pre_stage2_exec-serial.o \
4057c478bd9Sstevel@tonic-gate			  pre_stage2_exec-smp-imps.o \
4067c478bd9Sstevel@tonic-gate			  pre_stage2_exec-stage2.o \
4077c478bd9Sstevel@tonic-gate			  pre_stage2_exec-terminfo.o \
4087c478bd9Sstevel@tonic-gate			  pre_stage2_exec-tparm.o
4097c478bd9Sstevel@tonic-gate
4107c478bd9Sstevel@tonic-gate$(PRE_STAGE2_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(PRE_STAGE2_LINK)
4117c478bd9Sstevel@tonic-gate$(STAGE2_NETBOOT)$(PRE_STAGE2_EXEC)	:= LIBS = $(LIBDRIVERS)
4127c478bd9Sstevel@tonic-gate
4137c478bd9Sstevel@tonic-gate$(PRE_STAGE2_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS) \
4147c478bd9Sstevel@tonic-gate				$(FSYS_CFLAGS) $(TFTP_CFLAGS)
4157c478bd9Sstevel@tonic-gate
4167c478bd9Sstevel@tonic-gate$(PRE_STAGE2_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE2_CFLAGS) \
4177c478bd9Sstevel@tonic-gate				$(FSYS_CFLAGS) $(TFTP_CFLAGS)
4187c478bd9Sstevel@tonic-gate
4197c478bd9Sstevel@tonic-gate#
4207c478bd9Sstevel@tonic-gate# pxegrub
4217c478bd9Sstevel@tonic-gate#
4227c478bd9Sstevel@tonic-gatePXEGRUB_DATA		= pxegrub
4237c478bd9Sstevel@tonic-gate
4247c478bd9Sstevel@tonic-gate#
4257c478bd9Sstevel@tonic-gate# pxeloader
4267c478bd9Sstevel@tonic-gate#
4277c478bd9Sstevel@tonic-gatePXELOADER_DATA		= pxeloader
4287c478bd9Sstevel@tonic-gatePXELOADER_EXEC		= pxeloader.exec
4297c478bd9Sstevel@tonic-gatePXELOADER_ASMOBJS	= pxeloader_exec-pxeloader.o
4307c478bd9Sstevel@tonic-gatePXELOADER_OBJS		=
4317c478bd9Sstevel@tonic-gate$(PXELOADER_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(PXELOADER_LINK)
4327c478bd9Sstevel@tonic-gate$(PXELOADER_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS)
4337c478bd9Sstevel@tonic-gate
4347c478bd9Sstevel@tonic-gate#
4357c478bd9Sstevel@tonic-gate# ReiserFS stage 1.5
4367c478bd9Sstevel@tonic-gate#
437b1b8ab34SllingREISERFS_STAGE1_5_DATA  = reiserfs_stage1_5
438b1b8ab34SllingREISERFS_STAGE1_5_EXEC  = reiserfs_stage1_5.exec
4397c478bd9Sstevel@tonic-gate
440a5602e1bSKeith M WesolowskiREISERFS_STAGE1_5_ASMOBJS = reiserfs_stage1_5_exec-start.o \
441a5602e1bSKeith M Wesolowski			    reiserfs_stage1_5_exec-asm.o
4427c478bd9Sstevel@tonic-gate
443b1b8ab34SllingREISERFS_STAGE1_5_OBJS  = reiserfs_stage1_5_exec-bios.o \
4447c478bd9Sstevel@tonic-gate			  reiserfs_stage1_5_exec-char_io.o \
4457c478bd9Sstevel@tonic-gate			  reiserfs_stage1_5_exec-common.o \
4467c478bd9Sstevel@tonic-gate			  reiserfs_stage1_5_exec-disk_io.o \
4477c478bd9Sstevel@tonic-gate			  reiserfs_stage1_5_exec-fsys_reiserfs.o \
4489890706eSHans Rosenfeld			  reiserfs_stage1_5_exec-moddiv.o \
4497c478bd9Sstevel@tonic-gate			  reiserfs_stage1_5_exec-stage1_5.o
450*f52943a9SAndy Fiddaman
4517c478bd9Sstevel@tonic-gate$(REISERFS_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)
452*f52943a9SAndy Fiddaman
4537c478bd9Sstevel@tonic-gate$(REISERFS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) \
4547c478bd9Sstevel@tonic-gate				$(STAGE1_5_CFLAGS) \
4557c478bd9Sstevel@tonic-gate				-DFSYS_REISERFS=1 -DNO_BLOCK_FILES=1
456*f52943a9SAndy Fiddaman
457b1b8ab34Slling$(REISERFS_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS)	\
4587c478bd9Sstevel@tonic-gate				-DFSYS_REISERFS=1 -DNO_BLOCK_FILES=1
4597c478bd9Sstevel@tonic-gate
4607c478bd9Sstevel@tonic-gate#
4617c478bd9Sstevel@tonic-gate# stage2
4627c478bd9Sstevel@tonic-gate#
4637c478bd9Sstevel@tonic-gateSTAGE2_DATA		= stage2
4647c478bd9Sstevel@tonic-gate
4657c478bd9Sstevel@tonic-gate#
4667c478bd9Sstevel@tonic-gate# Eltorito stage2
4677c478bd9Sstevel@tonic-gate#
4687c478bd9Sstevel@tonic-gateSTAGE2_ELTORITO_DATA	= stage2_eltorito
4697c478bd9Sstevel@tonic-gate
4707c478bd9Sstevel@tonic-gate#
4717c478bd9Sstevel@tonic-gate# start
4727c478bd9Sstevel@tonic-gate#
4737c478bd9Sstevel@tonic-gateSTART_DATA		= start
4747c478bd9Sstevel@tonic-gateSTART_EXEC		= start.exec
4757c478bd9Sstevel@tonic-gateSTART_ASMOBJS		= start_exec-start.o
4767c478bd9Sstevel@tonic-gateSTART_OBJS		=
4777c478bd9Sstevel@tonic-gate$(START_EXEC)		:= LDFLAGS = $(BASE_LDFLAGS) $(START_LINK)
4787c478bd9Sstevel@tonic-gate$(START_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS)
4797c478bd9Sstevel@tonic-gate
4807c478bd9Sstevel@tonic-gate#
4817c478bd9Sstevel@tonic-gate# Eltorito start
4827c478bd9Sstevel@tonic-gate#
4837c478bd9Sstevel@tonic-gateSTART_ELTORITO_DATA	= start_eltorito
4847c478bd9Sstevel@tonic-gateSTART_ELTORITO_EXEC	= start_eltorito.exec
4857c478bd9Sstevel@tonic-gateSTART_ELTORITO_ASMOBJS	= start_eltorito_exec-start_eltorito.o
4867c478bd9Sstevel@tonic-gateSTART_ELTORITO_OBJS	=
4877c478bd9Sstevel@tonic-gate$(START_ELTORITO_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(START_ELTORITO_LINK)
4887c478bd9Sstevel@tonic-gate$(START_ELTORITO_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS)
4897c478bd9Sstevel@tonic-gate
4907c478bd9Sstevel@tonic-gate#
4917c478bd9Sstevel@tonic-gate# UFS2 stage 1.5
4927c478bd9Sstevel@tonic-gate#
4937c478bd9Sstevel@tonic-gateUFS2_STAGE1_5_DATA	= ufs2_stage1_5
4947c478bd9Sstevel@tonic-gateUFS2_STAGE1_5_EXEC	= ufs2_stage1_5.exec
4957c478bd9Sstevel@tonic-gate
496a5602e1bSKeith M WesolowskiUFS2_STAGE1_5_ASMOBJS	= ufs2_stage1_5_exec-start.o \
497a5602e1bSKeith M Wesolowski			  ufs2_stage1_5_exec-asm.o
4987c478bd9Sstevel@tonic-gate
4997c478bd9Sstevel@tonic-gateUFS2_STAGE1_5_OBJS	= ufs2_stage1_5_exec-bios.o \
5007c478bd9Sstevel@tonic-gate			  ufs2_stage1_5_exec-char_io.o \
5017c478bd9Sstevel@tonic-gate			  ufs2_stage1_5_exec-common.o \
5027c478bd9Sstevel@tonic-gate			  ufs2_stage1_5_exec-disk_io.o \
5037c478bd9Sstevel@tonic-gate			  ufs2_stage1_5_exec-fsys_ufs2.o \
5049890706eSHans Rosenfeld			  ufs2_stage1_5_exec-moddiv.o \
5057c478bd9Sstevel@tonic-gate			  ufs2_stage1_5_exec-stage1_5.o
5067c478bd9Sstevel@tonic-gate
5077c478bd9Sstevel@tonic-gate$(UFS2_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)
5087c478bd9Sstevel@tonic-gate
5097c478bd9Sstevel@tonic-gate$(UFS2_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
5107c478bd9Sstevel@tonic-gate				-DFSYS_UFS2=1 -DNO_BLOCK_FILES=1
5117c478bd9Sstevel@tonic-gate
5127c478bd9Sstevel@tonic-gate$(UFS2_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
5137c478bd9Sstevel@tonic-gate				-DFSYS_UFS2=1 -DNO_BLOCK_FILES=1
5147c478bd9Sstevel@tonic-gate
5157c478bd9Sstevel@tonic-gate#
5167c478bd9Sstevel@tonic-gate# UFS stage 1.5
5177c478bd9Sstevel@tonic-gate#
5187c478bd9Sstevel@tonic-gateUFS_STAGE1_5_DATA	= ufs_stage1_5
5197c478bd9Sstevel@tonic-gateUFS_STAGE1_5_EXEC	= ufs_stage1_5.exec
5207c478bd9Sstevel@tonic-gate
521a5602e1bSKeith M WesolowskiUFS_STAGE1_5_ASMOBJS	= ufs_stage1_5_exec-start.o \
522a5602e1bSKeith M Wesolowski			  ufs_stage1_5_exec-asm.o
5237c478bd9Sstevel@tonic-gate
5247c478bd9Sstevel@tonic-gateUFS_STAGE1_5_OBJS	= ufs_stage1_5_exec-bios.o \
5257c478bd9Sstevel@tonic-gate			  ufs_stage1_5_exec-char_io.o \
5267c478bd9Sstevel@tonic-gate			  ufs_stage1_5_exec-common.o \
5277c478bd9Sstevel@tonic-gate			  ufs_stage1_5_exec-disk_io.o \
5287c478bd9Sstevel@tonic-gate			  ufs_stage1_5_exec-fsys_ufs.o \
5299890706eSHans Rosenfeld			  ufs_stage1_5_exec-moddiv.o \
5307c478bd9Sstevel@tonic-gate			  ufs_stage1_5_exec-stage1_5.o
5317c478bd9Sstevel@tonic-gate
5327c478bd9Sstevel@tonic-gate$(UFS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)
5337c478bd9Sstevel@tonic-gate
5347c478bd9Sstevel@tonic-gate$(UFS_STAGE1_5_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
5357c478bd9Sstevel@tonic-gate				-DFSYS_UFS=1 -DNO_BLOCK_FILES=1
5367c478bd9Sstevel@tonic-gate
5377c478bd9Sstevel@tonic-gate$(UFS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
5387c478bd9Sstevel@tonic-gate				-DFSYS_UFS=1 -DNO_BLOCK_FILES=1
5397c478bd9Sstevel@tonic-gate
540b1b8ab34Slling#
541b1b8ab34Slling# ZFS stage 1.5
542b1b8ab34Slling#
543b1b8ab34SllingZFS_STAGE1_5_DATA	= zfs_stage1_5
544b1b8ab34SllingZFS_STAGE1_5_EXEC	= zfs_stage1_5.exec
545b1b8ab34Slling
546a5602e1bSKeith M WesolowskiZFS_STAGE1_5_ASMOBJS	= zfs_stage1_5_exec-start.o \
547a5602e1bSKeith M Wesolowski			  zfs_stage1_5_exec-asm.o
548b1b8ab34Slling
549b1b8ab34SllingZFS_STAGE1_5_OBJS	= zfs_stage1_5_exec-bios.o \
550b1b8ab34Slling			  zfs_stage1_5_exec-char_io.o \
551b1b8ab34Slling			  zfs_stage1_5_exec-common.o \
552b1b8ab34Slling			  zfs_stage1_5_exec-disk_io.o \
553b1b8ab34Slling			  zfs_stage1_5_exec-zfs_sha256.o \
554b1b8ab34Slling			  zfs_stage1_5_exec-zfs_lzjb.o \
555a6f561b4SSašo Kiselkov			  zfs_stage1_5_exec-zfs_lz4.o \
556b1b8ab34Slling			  zfs_stage1_5_exec-zfs_fletcher.o \
557b1b8ab34Slling			  zfs_stage1_5_exec-fsys_zfs.o \
5589890706eSHans Rosenfeld			  zfs_stage1_5_exec-moddiv.o \
559b1b8ab34Slling			  zfs_stage1_5_exec-stage1_5.o
560b1b8ab34Slling
561b1b8ab34Slling$(ZFS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)
562b1b8ab34Slling
563b1b8ab34Slling$(ZFS_STAGE1_5_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
564b1b8ab34Slling				-DFSYS_ZFS=1 -DNO_BLOCK_FILES=1
565b1b8ab34Slling
566b1b8ab34Slling$(ZFS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
567b1b8ab34Slling				-DFSYS_ZFS=1 -DNO_BLOCK_FILES=1
568b1b8ab34Slling
5697c478bd9Sstevel@tonic-gate#
5707c478bd9Sstevel@tonic-gate# VSTa FS
5717c478bd9Sstevel@tonic-gate#
5727c478bd9Sstevel@tonic-gateVSTAFS_STAGE1_5_DATA	= vstafs_stage1_5
5737c478bd9Sstevel@tonic-gateVSTAFS_STAGE1_5_EXEC	= vstafs_stage1_5.exec
5747c478bd9Sstevel@tonic-gate
575a5602e1bSKeith M WesolowskiVSTAFS_STAGE1_5_ASMOBJS	= vstafs_stage1_5_exec-start.o \
576a5602e1bSKeith M Wesolowski			  vstafs_stage1_5_exec-asm.o
5777c478bd9Sstevel@tonic-gate
5787c478bd9Sstevel@tonic-gateVSTAFS_STAGE1_5_OBJS	= vstafs_stage1_5_exec-bios.o \
5797c478bd9Sstevel@tonic-gate			  vstafs_stage1_5_exec-char_io.o \
5807c478bd9Sstevel@tonic-gate			  vstafs_stage1_5_exec-common.o \
5817c478bd9Sstevel@tonic-gate			  vstafs_stage1_5_exec-disk_io.o \
5827c478bd9Sstevel@tonic-gate			  vstafs_stage1_5_exec-fsys_vstafs.o \
5839890706eSHans Rosenfeld			  vstafs_stage1_5_exec-moddiv.o \
5847c478bd9Sstevel@tonic-gate			  vstafs_stage1_5_exec-stage1_5.o
5857c478bd9Sstevel@tonic-gate
5867c478bd9Sstevel@tonic-gate$(VSTAFS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)
5877c478bd9Sstevel@tonic-gate
5887c478bd9Sstevel@tonic-gate$(VSTAFS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
5897c478bd9Sstevel@tonic-gate				-DFSYS_VSTAFS=1 -DNO_BLOCK_FILES=1
5907c478bd9Sstevel@tonic-gate
5917c478bd9Sstevel@tonic-gate$(VSTAFS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
5927c478bd9Sstevel@tonic-gate				-DFSYS_VSTAFS=1 -DNO_BLOCK_FILES=1
5937c478bd9Sstevel@tonic-gate
5947c478bd9Sstevel@tonic-gate#
5957c478bd9Sstevel@tonic-gate# SGI XFS stage 1.5
5967c478bd9Sstevel@tonic-gate#
5977c478bd9Sstevel@tonic-gateXFS_STAGE1_5_DATA	= xfs_stage1_5
5987c478bd9Sstevel@tonic-gateXFS_STAGE1_5_EXEC	= xfs_stage1_5.exec
5997c478bd9Sstevel@tonic-gate
600a5602e1bSKeith M WesolowskiXFS_STAGE1_5_ASMOBJS	= xfs_stage1_5_exec-start.o \
601a5602e1bSKeith M Wesolowski			  xfs_stage1_5_exec-asm.o
6027c478bd9Sstevel@tonic-gate
6037c478bd9Sstevel@tonic-gateXFS_STAGE1_5_OBJS	= xfs_stage1_5_exec-bios.o \
6047c478bd9Sstevel@tonic-gate			  xfs_stage1_5_exec-char_io.o \
6057c478bd9Sstevel@tonic-gate			  xfs_stage1_5_exec-common.o \
6067c478bd9Sstevel@tonic-gate			  xfs_stage1_5_exec-disk_io.o \
6077c478bd9Sstevel@tonic-gate			  xfs_stage1_5_exec-fsys_xfs.o \
6089890706eSHans Rosenfeld			  xfs_stage1_5_exec-moddiv.o \
6097c478bd9Sstevel@tonic-gate			  xfs_stage1_5_exec-stage1_5.o
6107c478bd9Sstevel@tonic-gate
6117c478bd9Sstevel@tonic-gate$(XFS_STAGE1_5_EXEC)	:= LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK)
6127c478bd9Sstevel@tonic-gate
6137c478bd9Sstevel@tonic-gate$(XFS_STAGE1_5_ASMOBJS)	:= CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \
6147c478bd9Sstevel@tonic-gate				-DFSYS_XFS=1 -DNO_BLOCK_FILES=1
6157c478bd9Sstevel@tonic-gate
6167c478bd9Sstevel@tonic-gate$(XFS_STAGE1_5_OBJS)	:= CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \
6177c478bd9Sstevel@tonic-gate				-DFSYS_XFS=1 -DNO_BLOCK_FILES=1
6187c478bd9Sstevel@tonic-gate
6197c478bd9Sstevel@tonic-gate
620b1b8ab34SllingINSTALL_TARGETS	= $(INSTALL_DATA:%=$(ROOT_BOOT_GRUB)/%) \
621b1b8ab34Slling		$(SRC_ZFSINC_DIR)
6227c478bd9Sstevel@tonic-gate
6237c478bd9Sstevel@tonic-gate#
624b1b8ab34Slling# Source files to be installed in $(ROOT_SRC).
6257c478bd9Sstevel@tonic-gate#
6267c478bd9Sstevel@tonic-gateSRC_DIR		= $(ROOT_SRC)/stage2
627b1b8ab34SllingSRC_ZFSINC_DIR	= $(SRC_DIR)/zfs-include
6287c478bd9Sstevel@tonic-gateSRC_FILES	= Makefile.am Makefile.in apic.h apm.S asm.S bios.c boot.c \
6297c478bd9Sstevel@tonic-gate		  builtins.c char_io.c cmdline.c common.c console.c defs.h \
630a5602e1bSKeith M Wesolowski		  dir.h disk_inode.h disk_inode_ffs.h disk_io.c expand.c \
631a5602e1bSKeith M Wesolowski		  expand.h fat.h \
6327c478bd9Sstevel@tonic-gate		  filesys.h freebsd.h fs.h fsys_ext2fs.c fsys_fat.c \
6337c478bd9Sstevel@tonic-gate		  fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \
634a6f561b4SSašo Kiselkov		  zfs_sha256.c zfs_lzjb.c zfs_lz4.c zfs_fletcher.c fsys_zfs.c \
6357c478bd9Sstevel@tonic-gate		  fsys_reiserfs.c fsys_ufs.c fsys_ufs2.c fsys_vstafs.c \
6367c478bd9Sstevel@tonic-gate		  fsys_xfs.c graphics.c graphics.h gunzip.c hercules.c \
6377c478bd9Sstevel@tonic-gate		  hercules.h i386-elf.h imgact_aout.h iso9660.h jfs.h \
6389890706eSHans Rosenfeld		  mb_header.h mb_info.h md5.c md5.h moddiv.c nbi.h nbloader.S \
6397c478bd9Sstevel@tonic-gate		  pc_slice.h pxeloader.S serial.c serial.h setjmp.S shared.h \
6407c478bd9Sstevel@tonic-gate		  size_test smp-imps.c smp-imps.h stage1_5.c stage2.c \
6417c478bd9Sstevel@tonic-gate		  start.S start_eltorito.S term.h terminfo.c terminfo.h \
642b1b8ab34Slling		  tparm.c tparm.h fsys_zfs.h ufs.h ufs2.h vstafs.h xfs.h
643b1b8ab34SllingSRC_ZFSINC_FILES = dmu.h dmu_objset.h dnode.h dsl_dataset.h dsl_dir.h spa.h \
644b1b8ab34Slling		uberblock_impl.h vdev_impl.h zap_impl.h zap_leaf.h zfs.h \
645b1b8ab34Slling		zfs_acl.h zfs_znode.h zil.h zio.h zio_checksum.h
6467c478bd9Sstevel@tonic-gate
647b1b8ab34SllingINSTALL_TARGETS	+= $(SRC_FILES:%=$(SRC_DIR)/%) \
648b1b8ab34Slling		$(SRC_ZFSINC_FILES:%=$(SRC_ZFSINC_DIR)/%)
6497c478bd9Sstevel@tonic-gate
6507c478bd9Sstevel@tonic-gate
6517c478bd9Sstevel@tonic-gate###############################################################################
6527c478bd9Sstevel@tonic-gateall: $(BUILT_SOURCES) .WAIT $(LIBRARIES) $(PROGRAMS) $(DATA)
6537c478bd9Sstevel@tonic-gate
6547c478bd9Sstevel@tonic-gate#
6557c478bd9Sstevel@tonic-gate# BUILT_SOURCES
6567c478bd9Sstevel@tonic-gate#
6577c478bd9Sstevel@tonic-gatestage2_size.h: $(PRE_STAGE2_DATA)
6587c478bd9Sstevel@tonic-gate	$(RM) $@
6597c478bd9Sstevel@tonic-gate	set dummy `ls -l $(PRE_STAGE2_DATA)`; \
6607c478bd9Sstevel@tonic-gate	echo "#define STAGE2_SIZE $$6" > $@
6617c478bd9Sstevel@tonic-gate
6627c478bd9Sstevel@tonic-gatediskless_size.h: $(DISKLESS_DATA)
6637c478bd9Sstevel@tonic-gate	$(RM) $@
6647c478bd9Sstevel@tonic-gate	set dummy `ls -l $(DISKLESS_DATA)`; \
6657c478bd9Sstevel@tonic-gate	echo "#define DISKLESS_SIZE $$6" > $@
6667c478bd9Sstevel@tonic-gate
6677c478bd9Sstevel@tonic-gate#
6687c478bd9Sstevel@tonic-gate# LIBRARIES
6697c478bd9Sstevel@tonic-gate#
6707c478bd9Sstevel@tonic-gate$(LIBGRUB): $(LIBGRUB_OBJS)
6717c478bd9Sstevel@tonic-gate	$(RM) $@
6727c478bd9Sstevel@tonic-gate	$(AR) cru $@ $(LIBGRUB_OBJS)
6737c478bd9Sstevel@tonic-gate	$(RANLIB) $@
6747c478bd9Sstevel@tonic-gate
6757c478bd9Sstevel@tonic-gate$(LIBGRUB_OBJS): $$(@:libgrub_a-%.o=%.c)
6767c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:libgrub_a-%.o=%.c)
6777c478bd9Sstevel@tonic-gate
6787c478bd9Sstevel@tonic-gate
6797c478bd9Sstevel@tonic-gate#
6807c478bd9Sstevel@tonic-gate# Diskless
6817c478bd9Sstevel@tonic-gate#
682*f52943a9SAndy Fiddaman$(DISKLESS_EXEC): $(DISKLESS_ASMOBJS) $(DISKLESS_OBJS)
6837c478bd9Sstevel@tonic-gate	$(RM) $@
6847c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(DISKLESS_ASMOBJS) $(DISKLESS_OBJS) $(LIBS)
6857c478bd9Sstevel@tonic-gate
6867c478bd9Sstevel@tonic-gate$(DISKLESS_ASMOBJS): $$(@:diskless_exec-%.o=%.S)
6877c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:diskless_exec-%.o=%.S)
6887c478bd9Sstevel@tonic-gate
6897c478bd9Sstevel@tonic-gate$(DISKLESS_OBJS): $$(@:diskless_exec-%.o=%.c)
6907c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:diskless_exec-%.o=%.c)
6917c478bd9Sstevel@tonic-gate
6927c478bd9Sstevel@tonic-gate#
6937c478bd9Sstevel@tonic-gate# ext2fs stage 1.5
6947c478bd9Sstevel@tonic-gate#
6957c478bd9Sstevel@tonic-gate$(E2FS_STAGE1_5_EXEC): $(E2FS_STAGE1_5_ASMOBJS) $(E2FS_STAGE1_5_OBJS)
6967c478bd9Sstevel@tonic-gate	$(RM) $@
6977c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(E2FS_STAGE1_5_ASMOBJS) $(E2FS_STAGE1_5_OBJS) $(LIBS)
6987c478bd9Sstevel@tonic-gate
6997c478bd9Sstevel@tonic-gate$(E2FS_STAGE1_5_ASMOBJS): $$(@:e2fs_stage1_5_exec-%.o=%.S)
7007c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:e2fs_stage1_5_exec-%.o=%.S)
7017c478bd9Sstevel@tonic-gate
7027c478bd9Sstevel@tonic-gate$(E2FS_STAGE1_5_OBJS): $$(@:e2fs_stage1_5_exec-%.o=%.c)
7037c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:e2fs_stage1_5_exec-%.o=%.c)
7047c478bd9Sstevel@tonic-gate
7057c478bd9Sstevel@tonic-gate#
7067c478bd9Sstevel@tonic-gate# FAT stage 1.5
7077c478bd9Sstevel@tonic-gate#
7087c478bd9Sstevel@tonic-gate$(FAT_STAGE1_5_EXEC): $(FAT_STAGE1_5_ASMOBJS) $(FAT_STAGE1_5_OBJS)
7097c478bd9Sstevel@tonic-gate	$(RM) $@
7107c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(FAT_STAGE1_5_ASMOBJS) $(FAT_STAGE1_5_OBJS) $(LIBS)
7117c478bd9Sstevel@tonic-gate
7127c478bd9Sstevel@tonic-gate$(FAT_STAGE1_5_ASMOBJS): $$(@:fat_stage1_5_exec-%.o=%.S)
7137c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:fat_stage1_5_exec-%.o=%.S)
7147c478bd9Sstevel@tonic-gate
7157c478bd9Sstevel@tonic-gate$(FAT_STAGE1_5_OBJS): $$(@:fat_stage1_5_exec-%.o=%.c)
7167c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:fat_stage1_5_exec-%.o=%.c)
7177c478bd9Sstevel@tonic-gate
7187c478bd9Sstevel@tonic-gate#
7197c478bd9Sstevel@tonic-gate# FFS stage 1.5
7207c478bd9Sstevel@tonic-gate#
7217c478bd9Sstevel@tonic-gate$(FFS_STAGE1_5_EXEC): $(FFS_STAGE1_5_ASMOBJS) $(FFS_STAGE1_5_OBJS)
7227c478bd9Sstevel@tonic-gate	$(RM) $@
7237c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(FFS_STAGE1_5_ASMOBJS) $(FFS_STAGE1_5_OBJS) $(LIBS)
7247c478bd9Sstevel@tonic-gate
7257c478bd9Sstevel@tonic-gate$(FFS_STAGE1_5_ASMOBJS): $$(@:ffs_stage1_5_exec-%.o=%.S)
7267c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:ffs_stage1_5_exec-%.o=%.S)
7277c478bd9Sstevel@tonic-gate
7287c478bd9Sstevel@tonic-gate$(FFS_STAGE1_5_OBJS): $$(@:ffs_stage1_5_exec-%.o=%.c)
7297c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:ffs_stage1_5_exec-%.o=%.c)
7307c478bd9Sstevel@tonic-gate
7317c478bd9Sstevel@tonic-gate#
7327c478bd9Sstevel@tonic-gate# ISO9660 stage 1.5
7337c478bd9Sstevel@tonic-gate#
7347c478bd9Sstevel@tonic-gate$(ISO9660_STAGE1_5_EXEC): $(ISO9660_STAGE1_5_ASMOBJS) $(ISO9660_STAGE1_5_OBJS)
7357c478bd9Sstevel@tonic-gate	$(RM) $@
7367c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(ISO9660_STAGE1_5_ASMOBJS) $(ISO9660_STAGE1_5_OBJS) \
7377c478bd9Sstevel@tonic-gate	    $(LIBS)
7387c478bd9Sstevel@tonic-gate
7397c478bd9Sstevel@tonic-gate$(ISO9660_STAGE1_5_ASMOBJS): $$(@:iso9660_stage1_5_exec-%.o=%.S)
7407c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:iso9660_stage1_5_exec-%.o=%.S)
7417c478bd9Sstevel@tonic-gate
7427c478bd9Sstevel@tonic-gate$(ISO9660_STAGE1_5_OBJS): $$(@:iso9660_stage1_5_exec-%.o=%.c)
7437c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:iso9660_stage1_5_exec-%.o=%.c)
7447c478bd9Sstevel@tonic-gate
7457c478bd9Sstevel@tonic-gate#
7467c478bd9Sstevel@tonic-gate# JFS stage 1.5
7477c478bd9Sstevel@tonic-gate#
7487c478bd9Sstevel@tonic-gate$(JFS_STAGE1_5_EXEC): $(JFS_STAGE1_5_ASMOBJS) $(JFS_STAGE1_5_OBJS)
7497c478bd9Sstevel@tonic-gate	$(RM) $@
7507c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(JFS_STAGE1_5_ASMOBJS) $(JFS_STAGE1_5_OBJS) $(LIBS)
7517c478bd9Sstevel@tonic-gate
7527c478bd9Sstevel@tonic-gate$(JFS_STAGE1_5_ASMOBJS): $$(@:jfs_stage1_5_exec-%.o=%.S)
7537c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:jfs_stage1_5_exec-%.o=%.S)
7547c478bd9Sstevel@tonic-gate
7557c478bd9Sstevel@tonic-gate$(JFS_STAGE1_5_OBJS): $$(@:jfs_stage1_5_exec-%.o=%.c)
7567c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:jfs_stage1_5_exec-%.o=%.c)
7577c478bd9Sstevel@tonic-gate
7587c478bd9Sstevel@tonic-gate#
7597c478bd9Sstevel@tonic-gate# Minix stage 1.5
7607c478bd9Sstevel@tonic-gate#
7617c478bd9Sstevel@tonic-gate$(MINIX_STAGE1_5_EXEC): $(MINIX_STAGE1_5_ASMOBJS) $(MINIX_STAGE1_5_OBJS)
7627c478bd9Sstevel@tonic-gate	$(RM) $@
7637c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(MINIX_STAGE1_5_ASMOBJS) $(MINIX_STAGE1_5_OBJS) $(LIBS)
7647c478bd9Sstevel@tonic-gate
7657c478bd9Sstevel@tonic-gate$(MINIX_STAGE1_5_ASMOBJS): $$(@:minix_stage1_5_exec-%.o=%.S)
7667c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:minix_stage1_5_exec-%.o=%.S)
7677c478bd9Sstevel@tonic-gate
7687c478bd9Sstevel@tonic-gate$(MINIX_STAGE1_5_OBJS): $$(@:minix_stage1_5_exec-%.o=%.c)
7697c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:minix_stage1_5_exec-%.o=%.c)
7707c478bd9Sstevel@tonic-gate
7717c478bd9Sstevel@tonic-gate#
7727c478bd9Sstevel@tonic-gate# nbgrub
7737c478bd9Sstevel@tonic-gate#
7747c478bd9Sstevel@tonic-gate$(NBGRUB_DATA): $(NBLOADER_DATA) $(DISKLESS_DATA)
7757c478bd9Sstevel@tonic-gate	$(RM) $@
7767c478bd9Sstevel@tonic-gate	cat $(NBLOADER_DATA) $(DISKLESS_DATA) > $@
7777c478bd9Sstevel@tonic-gate
7787c478bd9Sstevel@tonic-gate#
7797c478bd9Sstevel@tonic-gate# nbloader
7807c478bd9Sstevel@tonic-gate#
7817c478bd9Sstevel@tonic-gate$(NBLOADER_EXEC): $(NBLOADER_ASMOBJS) $(NBLOADER_OBJS)
7827c478bd9Sstevel@tonic-gate	$(RM) $@
7837c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(NBLOADER_ASMOBJS) $(NBLOADER_OBJS) $(LIBS)
7847c478bd9Sstevel@tonic-gate
7857c478bd9Sstevel@tonic-gate$(NBLOADER_ASMOBJS): $$(@:nbloader_exec-%.o=%.S) diskless_size.h
7867c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:nbloader_exec-%.o=%.S)
7877c478bd9Sstevel@tonic-gate
7887c478bd9Sstevel@tonic-gate$(NBLOADER_OBJS): $$(@:nbloader_exec-%.o=%.c)
7897c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:nbloader_exec-%.o=%.c)
7907c478bd9Sstevel@tonic-gate
7917c478bd9Sstevel@tonic-gate#
7927c478bd9Sstevel@tonic-gate# Pre-stage2
7937c478bd9Sstevel@tonic-gate#
7947c478bd9Sstevel@tonic-gate$(PRE_STAGE2_EXEC): $(PRE_STAGE2_ASMOBJS) $(PRE_STAGE2_OBJS)
7957c478bd9Sstevel@tonic-gate	$(RM) $@
7967c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(PRE_STAGE2_ASMOBJS) $(PRE_STAGE2_OBJS) $(LIBS)
7977c478bd9Sstevel@tonic-gate
7987c478bd9Sstevel@tonic-gate$(PRE_STAGE2_ASMOBJS): $$(@:pre_stage2_exec-%.o=%.S)
7997c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:pre_stage2_exec-%.o=%.S)
8007c478bd9Sstevel@tonic-gate
8017c478bd9Sstevel@tonic-gate$(PRE_STAGE2_OBJS): $$(@:pre_stage2_exec-%.o=%.c)
8027c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:pre_stage2_exec-%.o=%.c)
8037c478bd9Sstevel@tonic-gate
8047c478bd9Sstevel@tonic-gate#
8057c478bd9Sstevel@tonic-gate# pxegrub
8067c478bd9Sstevel@tonic-gate#
8077c478bd9Sstevel@tonic-gate$(PXEGRUB_DATA): $(PXELOADER_DATA) $(DISKLESS_DATA)
8087c478bd9Sstevel@tonic-gate	$(RM) $@
8097c478bd9Sstevel@tonic-gate	cat $(PXELOADER_DATA) $(DISKLESS_DATA) > $@
8107c478bd9Sstevel@tonic-gate
8117c478bd9Sstevel@tonic-gate#
8127c478bd9Sstevel@tonic-gate# pxeloader
8137c478bd9Sstevel@tonic-gate#
8147c478bd9Sstevel@tonic-gate$(PXELOADER_EXEC): $(PXELOADER_ASMOBJS) $(PXELOADER_OBJS)
8157c478bd9Sstevel@tonic-gate	$(RM) $@
8167c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(PXELOADER_ASMOBJS) $(PXELOADER_OBJS) $(LIBS)
8177c478bd9Sstevel@tonic-gate
8187c478bd9Sstevel@tonic-gate$(PXELOADER_ASMOBJS): $$(@:pxeloader_exec-%.o=%.S) diskless_size.h
8197c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:pxeloader_exec-%.o=%.S)
8207c478bd9Sstevel@tonic-gate
8217c478bd9Sstevel@tonic-gate$(PXELOADER_OBJS): $$(@:pxeloader_exec-%.o=%.c)
8227c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:pxeloader_exec-%.o=%.c)
8237c478bd9Sstevel@tonic-gate
8247c478bd9Sstevel@tonic-gate#
8257c478bd9Sstevel@tonic-gate# ReiserFS stage 1.5
8267c478bd9Sstevel@tonic-gate#
827b1b8ab34Slling$(REISERFS_STAGE1_5_EXEC): $(REISERFS_STAGE1_5_ASMOBJS)	\
828b1b8ab34Slling	$(REISERFS_STAGE1_5_OBJS)
8297c478bd9Sstevel@tonic-gate	$(RM) $@
8307c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(REISERFS_STAGE1_5_ASMOBJS) $(REISERFS_STAGE1_5_OBJS) \
8317c478bd9Sstevel@tonic-gate	    $(LIBS)
8327c478bd9Sstevel@tonic-gate
8337c478bd9Sstevel@tonic-gate$(REISERFS_STAGE1_5_ASMOBJS): $$(@:reiserfs_stage1_5_exec-%.o=%.S)
8347c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:reiserfs_stage1_5_exec-%.o=%.S)
8357c478bd9Sstevel@tonic-gate
8367c478bd9Sstevel@tonic-gate$(REISERFS_STAGE1_5_OBJS): $$(@:reiserfs_stage1_5_exec-%.o=%.c)
8377c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:reiserfs_stage1_5_exec-%.o=%.c)
8387c478bd9Sstevel@tonic-gate
8397c478bd9Sstevel@tonic-gate#
8407c478bd9Sstevel@tonic-gate# stage2
8417c478bd9Sstevel@tonic-gate#
8427c478bd9Sstevel@tonic-gate$(STAGE2_DATA): $(START_DATA) $(PRE_STAGE2_DATA)
8437c478bd9Sstevel@tonic-gate	$(RM) $@
8447c478bd9Sstevel@tonic-gate	cat $(START_DATA) $(PRE_STAGE2_DATA) > $@
8457c478bd9Sstevel@tonic-gate#
8467c478bd9Sstevel@tonic-gate# Eltorito stage2
8477c478bd9Sstevel@tonic-gate#
8487c478bd9Sstevel@tonic-gate$(STAGE2_ELTORITO_DATA): $(START_ELTORITO_DATA) $(PRE_STAGE2_DATA)
8497c478bd9Sstevel@tonic-gate	$(RM) $@
8507c478bd9Sstevel@tonic-gate	cat $(START_ELTORITO_DATA) $(PRE_STAGE2_DATA) > $@
8517c478bd9Sstevel@tonic-gate
8527c478bd9Sstevel@tonic-gate#
8537c478bd9Sstevel@tonic-gate# start
8547c478bd9Sstevel@tonic-gate#
8557c478bd9Sstevel@tonic-gate$(START_EXEC): $(START_ASMOBJS) $(START_OBJS)
8567c478bd9Sstevel@tonic-gate	$(RM) $@
8577c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(START_ASMOBJS) $(START_OBJS) $(LIBS)
8587c478bd9Sstevel@tonic-gate
8597c478bd9Sstevel@tonic-gate$(START_ASMOBJS): $$(@:start_exec-%.o=%.S) stage2_size.h
8607c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:start_exec-%.o=%.S)
8617c478bd9Sstevel@tonic-gate
8627c478bd9Sstevel@tonic-gate$(START_OBJS): $$(@:start_exec-%.o=%.c)
8637c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:start_exec-%.o=%.c)
8647c478bd9Sstevel@tonic-gate
8657c478bd9Sstevel@tonic-gate#
8667c478bd9Sstevel@tonic-gate# Eltorito start
8677c478bd9Sstevel@tonic-gate#
8687c478bd9Sstevel@tonic-gate$(START_ELTORITO_EXEC): $(START_ELTORITO_ASMOBJS) $(START_ELTORITO_OBJS)
8697c478bd9Sstevel@tonic-gate	$(RM) $@
8707c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(START_ELTORITO_ASMOBJS) $(START_ELTORITO_OBJS) $(LIBS)
8717c478bd9Sstevel@tonic-gate
8727c478bd9Sstevel@tonic-gate$(START_ELTORITO_ASMOBJS): $$(@:start_eltorito_exec-%.o=%.S) stage2_size.h
8737c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:start_eltorito_exec-%.o=%.S)
8747c478bd9Sstevel@tonic-gate
8757c478bd9Sstevel@tonic-gate$(START_ELTORITO_OBJS): $$(@:start_eltorito_exec-%.o=%.c)
8767c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:start_eltorito_exec-%.o=%.c)
8777c478bd9Sstevel@tonic-gate
8787c478bd9Sstevel@tonic-gate#
8797c478bd9Sstevel@tonic-gate# UFS2 stage 1.5
8807c478bd9Sstevel@tonic-gate#
8817c478bd9Sstevel@tonic-gate$(UFS2_STAGE1_5_EXEC): $(UFS2_STAGE1_5_ASMOBJS) $(UFS2_STAGE1_5_OBJS)
8827c478bd9Sstevel@tonic-gate	$(RM) $@
8837c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(UFS2_STAGE1_5_ASMOBJS) $(UFS2_STAGE1_5_OBJS) $(LIBS)
8847c478bd9Sstevel@tonic-gate
8857c478bd9Sstevel@tonic-gate$(UFS2_STAGE1_5_ASMOBJS): $$(@:ufs2_stage1_5_exec-%.o=%.S)
8867c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:ufs2_stage1_5_exec-%.o=%.S)
8877c478bd9Sstevel@tonic-gate
8887c478bd9Sstevel@tonic-gate$(UFS2_STAGE1_5_OBJS): $$(@:ufs2_stage1_5_exec-%.o=%.c)
8897c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:ufs2_stage1_5_exec-%.o=%.c)
8907c478bd9Sstevel@tonic-gate
8917c478bd9Sstevel@tonic-gate#
8927c478bd9Sstevel@tonic-gate# UFS stage 1.5
8937c478bd9Sstevel@tonic-gate#
8947c478bd9Sstevel@tonic-gate$(UFS_STAGE1_5_EXEC): $(UFS_STAGE1_5_ASMOBJS) $(UFS_STAGE1_5_OBJS)
8957c478bd9Sstevel@tonic-gate	$(RM) $@
8967c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(UFS_STAGE1_5_ASMOBJS) $(UFS_STAGE1_5_OBJS) $(LIBS)
8977c478bd9Sstevel@tonic-gate
8987c478bd9Sstevel@tonic-gate$(UFS_STAGE1_5_ASMOBJS): $$(@:ufs_stage1_5_exec-%.o=%.S)
8997c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:ufs_stage1_5_exec-%.o=%.S)
9007c478bd9Sstevel@tonic-gate
9017c478bd9Sstevel@tonic-gate$(UFS_STAGE1_5_OBJS): $$(@:ufs_stage1_5_exec-%.o=%.c)
9027c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:ufs_stage1_5_exec-%.o=%.c)
9037c478bd9Sstevel@tonic-gate
904b1b8ab34Slling#
905b1b8ab34Slling# ZFS stage 1.5
906b1b8ab34Slling#
907b1b8ab34Slling$(ZFS_STAGE1_5_EXEC): $(ZFS_STAGE1_5_ASMOBJS) $(ZFS_STAGE1_5_OBJS)
908b1b8ab34Slling	$(RM) $@
909b1b8ab34Slling	$(LINK) -o $@ $(ZFS_STAGE1_5_ASMOBJS) $(ZFS_STAGE1_5_OBJS) $(LIBS)
910b1b8ab34Slling
911b1b8ab34Slling$(ZFS_STAGE1_5_ASMOBJS): $$(@:zfs_stage1_5_exec-%.o=%.S)
912b1b8ab34Slling	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:zfs_stage1_5_exec-%.o=%.S)
913b1b8ab34Slling
914b1b8ab34Slling$(ZFS_STAGE1_5_OBJS): $$(@:zfs_stage1_5_exec-%.o=%.c)
915b1b8ab34Slling	$(CC) $(CFLAGS) -c -o $@ $(@:zfs_stage1_5_exec-%.o=%.c)
916b1b8ab34Slling
9177c478bd9Sstevel@tonic-gate#
9187c478bd9Sstevel@tonic-gate# VSTa stage 1.5
9197c478bd9Sstevel@tonic-gate#
9207c478bd9Sstevel@tonic-gate$(VSTAFS_STAGE1_5_EXEC): $(VSTAFS_STAGE1_5_ASMOBJS) $(VSTAFS_STAGE1_5_OBJS)
9217c478bd9Sstevel@tonic-gate	$(RM) $@
9227c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(VSTAFS_STAGE1_5_ASMOBJS) $(VSTAFS_STAGE1_5_OBJS) $(LIBS)
9237c478bd9Sstevel@tonic-gate
9247c478bd9Sstevel@tonic-gate$(VSTAFS_STAGE1_5_ASMOBJS): $$(@:vstafs_stage1_5_exec-%.o=%.S)
9257c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:vstafs_stage1_5_exec-%.o=%.S)
9267c478bd9Sstevel@tonic-gate
9277c478bd9Sstevel@tonic-gate$(VSTAFS_STAGE1_5_OBJS): $$(@:vstafs_stage1_5_exec-%.o=%.c)
9287c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:vstafs_stage1_5_exec-%.o=%.c)
9297c478bd9Sstevel@tonic-gate
9307c478bd9Sstevel@tonic-gate#
9317c478bd9Sstevel@tonic-gate# SGI XFS stage 1.5
9327c478bd9Sstevel@tonic-gate#
9337c478bd9Sstevel@tonic-gate$(XFS_STAGE1_5_EXEC): $(XFS_STAGE1_5_ASMOBJS) $(XFS_STAGE1_5_OBJS)
9347c478bd9Sstevel@tonic-gate	$(RM) $@
9357c478bd9Sstevel@tonic-gate	$(LINK) -o $@ $(XFS_STAGE1_5_ASMOBJS) $(XFS_STAGE1_5_OBJS) $(LIBS)
9367c478bd9Sstevel@tonic-gate
9377c478bd9Sstevel@tonic-gate$(XFS_STAGE1_5_ASMOBJS): $$(@:xfs_stage1_5_exec-%.o=%.S)
9387c478bd9Sstevel@tonic-gate	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:xfs_stage1_5_exec-%.o=%.S)
9397c478bd9Sstevel@tonic-gate
9407c478bd9Sstevel@tonic-gate$(XFS_STAGE1_5_OBJS): $$(@:xfs_stage1_5_exec-%.o=%.c)
9417c478bd9Sstevel@tonic-gate	$(CC) $(CFLAGS) -c -o $@ $(@:xfs_stage1_5_exec-%.o=%.c)
9427c478bd9Sstevel@tonic-gate
9437c478bd9Sstevel@tonic-gate
9447c478bd9Sstevel@tonic-gate
9457c478bd9Sstevel@tonic-gateinstall: all $(INSTALL_TARGETS)
9467c478bd9Sstevel@tonic-gate
9477c478bd9Sstevel@tonic-gate$(ROOT_BOOT_GRUB)/%: $(ROOT_BOOT_GRUB) %
9487c478bd9Sstevel@tonic-gate	$(INS.file)
9497c478bd9Sstevel@tonic-gate
9507c478bd9Sstevel@tonic-gate$(SRC_DIR)/%: $(SRC_DIR) %
9517c478bd9Sstevel@tonic-gate	$(INS.file)
9527c478bd9Sstevel@tonic-gate
953b1b8ab34Slling$(SRC_ZFSINC_DIR)/%: $(SRC_ZFSINC_DIR) %
954b1b8ab34Slling	$(INS.file)
9557c478bd9Sstevel@tonic-gate
956b1b8ab34Slling$(ROOT_BOOT_GRUB) $(SRC_DIR) $(SRC_ZFSINC_DIR):
957b1b8ab34Slling	$(INS.dir)
9587c478bd9Sstevel@tonic-gate
9597c478bd9Sstevel@tonic-gateclean: _FORCE
960c6fe1048Sjongkis	$(RM) *.o $(BUILT_SOURCES) $(LIBRARIES) $(PROGRAMS) $(NOINSTALL_DATA)
9617c478bd9Sstevel@tonic-gate
9627c478bd9Sstevel@tonic-gateclobber: clean
963c6fe1048Sjongkis	$(RM) $(INSTALL_DATA)
9647c478bd9Sstevel@tonic-gate
9657c478bd9Sstevel@tonic-gate_FORCE:
966