11b8adde7SWilliam Kucharski# For test target.
21b8adde7SWilliam KucharskiTESTS = size_test
31b8adde7SWilliam Kucharskinoinst_SCRIPTS = $(TESTS)
41b8adde7SWilliam Kucharski
51b8adde7SWilliam Kucharski# For dist target.
61b8adde7SWilliam Kucharskinoinst_HEADERS = apic.h defs.h dir.h disk_inode.h disk_inode_ffs.h \
71b8adde7SWilliam Kucharski        fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \
81b8adde7SWilliam Kucharski	imgact_aout.h iso9660.h jfs.h mb_header.h mb_info.h md5.h \
91b8adde7SWilliam Kucharski	nbi.h pc_slice.h serial.h shared.h smp-imps.h term.h \
101b8adde7SWilliam Kucharski	terminfo.h tparm.h nbi.h ufs.h ufs2.h vstafs.h xfs.h graphics.h \
111b8adde7SWilliam Kucharski	fsys_zfs.h
121b8adde7SWilliam KucharskiEXTRA_DIST = setjmp.S apm.S $(noinst_SCRIPTS)
131b8adde7SWilliam Kucharski
141b8adde7SWilliam Kucharski# For <stage1.h>.
151b8adde7SWilliam KucharskiINCLUDES = -I$(top_srcdir)/stage1
161b8adde7SWilliam Kucharski
171b8adde7SWilliam Kucharski# The library for /sbin/grub.
181b8adde7SWilliam Kucharskinoinst_LIBRARIES = libgrub.a
191b8adde7SWilliam Kucharskilibgrub_a_SOURCES = boot.c builtins.c char_io.c cmdline.c common.c \
201b8adde7SWilliam Kucharski	disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_iso9660.c \
211b8adde7SWilliam Kucharski	fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_ufs.c fsys_ufs2.c \
22*a6f561b4SSašo Kiselkov	fsys_zfs.c zfs_fletcher.c zfs_lzjb.c zfs_lz4.c zfs_sha256.c \
231b8adde7SWilliam Kucharski	fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c stage2.c \
241b8adde7SWilliam Kucharski	terminfo.c tparm.c graphics.c
251b8adde7SWilliam Kucharskilibgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \
261b8adde7SWilliam Kucharski	-DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \
271b8adde7SWilliam Kucharski	-DFSYS_ISO9660=1 -DFSYS_JFS=1 -DFSYS_MINIX=1 -DFSYS_REISERFS=1 \
281b8adde7SWilliam Kucharski	-DFSYS_UFS=1 -DFSYS_UFS2=1 -DFSYS_ZFS=1 -DFSYS_VSTAFS=1 -DFSYS_XFS=1 \
291b8adde7SWilliam Kucharski	-DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 \
301b8adde7SWilliam Kucharski
311b8adde7SWilliam Kucharski# Stage 2 and Stage 1.5's.
321b8adde7SWilliam Kucharskipkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
331b8adde7SWilliam Kucharski
341b8adde7SWilliam KucharskiEXTRA_PROGRAMS = nbloader.exec pxeloader.exec diskless.exec
351b8adde7SWilliam Kucharski
361b8adde7SWilliam Kucharskiif DISKLESS_SUPPORT
371b8adde7SWilliam Kucharskipkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
381b8adde7SWilliam Kucharski	ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \
391b8adde7SWilliam Kucharski	reiserfs_stage1_5 ufs_stage1_5 ufs2_stage1_5 zfs_stage1_5 vstafs_stage1_5 \
401b8adde7SWilliam Kucharski	xfs_stage1_5 nbgrub pxegrub
411b8adde7SWilliam Kucharskinoinst_DATA = pre_stage2 start start_eltorito nbloader pxeloader diskless
421b8adde7SWilliam Kucharskinoinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \
431b8adde7SWilliam Kucharski	e2fs_stage1_5.exec fat_stage1_5.exec ffs_stage1_5.exec \
441b8adde7SWilliam Kucharski	iso9660_stage1_5.exec jfs_stage1_5.exec minix_stage1_5.exec \
451b8adde7SWilliam Kucharski	reiserfs_stage1_5.exec ufs_stage1_5.exec ufs2_stage1_5.exec \
461b8adde7SWilliam Kucharski	zfs_stage1_5.exec \
471b8adde7SWilliam Kucharski	vstafs_stage1_5.exec xfs_stage1_5.exec \
481b8adde7SWilliam Kucharski	nbloader.exec pxeloader.exec diskless.exec
491b8adde7SWilliam Kucharskielse
501b8adde7SWilliam Kucharskipkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
511b8adde7SWilliam Kucharski	ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \
521b8adde7SWilliam Kucharski	reiserfs_stage1_5 ufs_stage1_5 ufs2_stage1_5 zfs_stage1_5 vstafs_stage1_5 \
531b8adde7SWilliam Kucharski	xfs_stage1_5
541b8adde7SWilliam Kucharskinoinst_DATA = pre_stage2 start start_eltorito
551b8adde7SWilliam Kucharskinoinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \
561b8adde7SWilliam Kucharski	e2fs_stage1_5.exec fat_stage1_5.exec ffs_stage1_5.exec \
571b8adde7SWilliam Kucharski	iso9660_stage1_5.exec jfs_stage1_5.exec minix_stage1_5.exec \
581b8adde7SWilliam Kucharski	reiserfs_stage1_5.exec ufs_stage1_5.exec ufs2_stage1_5.exec \
591b8adde7SWilliam Kucharski	zfs_stage1_5.exec vstafs_stage1_5.exec xfs_stage1_5.exec
601b8adde7SWilliam Kucharskiendif
611b8adde7SWilliam KucharskiMOSTLYCLEANFILES = $(noinst_PROGRAMS)
621b8adde7SWilliam Kucharski
631b8adde7SWilliam KucharskiPRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200
641b8adde7SWilliam KucharskiSTART_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000
651b8adde7SWilliam KucharskiNBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0
661b8adde7SWilliam KucharskiPXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00
671b8adde7SWilliam KucharskiSTART_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00
681b8adde7SWilliam Kucharski
691b8adde7SWilliam Kucharskiif NETBOOT_SUPPORT
701b8adde7SWilliam KucharskiNETBOOT_FLAGS = -I$(top_srcdir)/netboot -DSUPPORT_NETBOOT=1
711b8adde7SWilliam Kucharskielse
721b8adde7SWilliam KucharskiNETBOOT_FLAGS =
731b8adde7SWilliam Kucharskiendif
741b8adde7SWilliam Kucharski
751b8adde7SWilliam Kucharskiif SERIAL_SUPPORT
761b8adde7SWilliam KucharskiSERIAL_FLAGS = -DSUPPORT_SERIAL=1
771b8adde7SWilliam Kucharskielse
781b8adde7SWilliam KucharskiSERIAL_FLAGS =
791b8adde7SWilliam Kucharskiendif
801b8adde7SWilliam Kucharski
811b8adde7SWilliam Kucharskiif HERCULES_SUPPORT
821b8adde7SWilliam KucharskiHERCULES_FLAGS = -DSUPPORT_HERCULES=1
831b8adde7SWilliam Kucharskielse
841b8adde7SWilliam KucharskiHERCULES_FLAGS =
851b8adde7SWilliam Kucharskiendif
861b8adde7SWilliam Kucharski
871b8adde7SWilliam Kucharskiif GRAPHICS_SUPPORT
881b8adde7SWilliam KucharskiGRAPHICS_FLAGS = -DSUPPORT_GRAPHICS=1
891b8adde7SWilliam Kucharskielse
901b8adde7SWilliam KucharskiGRAPHICS_FLAGS =
911b8adde7SWilliam Kucharskiendif
921b8adde7SWilliam Kucharski
931b8adde7SWilliam KucharskiSTAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
941b8adde7SWilliam Kucharski	$(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) $(GRAPHICS_FLAGS)
951b8adde7SWilliam Kucharski
961b8adde7SWilliam KucharskiSTAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000
971b8adde7SWilliam KucharskiSTAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1
981b8adde7SWilliam Kucharski
991b8adde7SWilliam Kucharski# For stage2 target.
1001b8adde7SWilliam Kucharskipre_stage2_exec_SOURCES = asm.S bios.c boot.c builtins.c char_io.c \
1011b8adde7SWilliam Kucharski	cmdline.c common.c console.c disk_io.c fsys_ext2fs.c \
1021b8adde7SWilliam Kucharski	fsys_fat.c fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \
1031b8adde7SWilliam Kucharski	fsys_reiserfs.c fsys_ufs.c fsys_ufs2.c fsys_vstafs.c fsys_xfs.c \
104*a6f561b4SSašo Kiselkov	fsys_zfs.c zfs_fletcher.c zfs_lzjb.c zfs_lz4.c zfs_sha256.c \
1051b8adde7SWilliam Kucharski	gunzip.c hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c \
1061b8adde7SWilliam Kucharski	tparm.c graphics.c
1071b8adde7SWilliam Kucharskipre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS)
1081b8adde7SWilliam Kucharskipre_stage2_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS)
1091b8adde7SWilliam Kucharskipre_stage2_exec_LDFLAGS = $(PRE_STAGE2_LINK)
1101b8adde7SWilliam Kucharski
1111b8adde7SWilliam Kucharskiif NETBOOT_SUPPORT
1121b8adde7SWilliam Kucharskipre_stage2_exec_LDADD = ../netboot/libdrivers.a
1131b8adde7SWilliam Kucharskiendif
1141b8adde7SWilliam Kucharski
1151b8adde7SWilliam Kucharskiif DISKLESS_SUPPORT
1161b8adde7SWilliam KucharskiBUILT_SOURCES = stage2_size.h diskless_size.h
1171b8adde7SWilliam Kucharskielse
1181b8adde7SWilliam KucharskiBUILT_SOURCES = stage2_size.h
1191b8adde7SWilliam Kucharskiendif
1201b8adde7SWilliam Kucharski
1211b8adde7SWilliam KucharskiCLEANFILES = $(pkglib_DATA) $(noinst_DATA) $(BUILT_SOURCES)
1221b8adde7SWilliam Kucharski
1231b8adde7SWilliam Kucharskistage2_size.h: pre_stage2
1241b8adde7SWilliam Kucharski	-rm -f stage2_size.h
1251b8adde7SWilliam Kucharski	set dummy `ls -l pre_stage2`; \
1261b8adde7SWilliam Kucharski	echo "#define STAGE2_SIZE $$6" > stage2_size.h
1271b8adde7SWilliam Kucharski
1281b8adde7SWilliam Kucharskistart_exec_SOURCES = start.S
1291b8adde7SWilliam Kucharskistart_exec_CCASFLAGS = $(STAGE2_COMPILE)
1301b8adde7SWilliam Kucharskistart_exec_LDFLAGS = $(START_LINK)
1311b8adde7SWilliam Kucharski
1321b8adde7SWilliam Kucharski# XXX: automake doesn't provide a way to specify dependencies for object
1331b8adde7SWilliam Kucharski# files explicitly, so we must write this by a general Makefile scheme.
1341b8adde7SWilliam Kucharski# If automake change the naming scheme for per-executable objects, this
1351b8adde7SWilliam Kucharski# will be broken.
1361b8adde7SWilliam Kucharskistart_exec-start.$(OBJEXT): stage2_size.h
1371b8adde7SWilliam Kucharski
1381b8adde7SWilliam Kucharskistage2: pre_stage2 start
1391b8adde7SWilliam Kucharski	-rm -f stage2
1401b8adde7SWilliam Kucharski	cat start pre_stage2 > stage2
1411b8adde7SWilliam Kucharski
1421b8adde7SWilliam Kucharskistart_eltorito_exec_SOURCES = start_eltorito.S
1431b8adde7SWilliam Kucharskistart_eltorito_exec_CCASFLAGS = $(STAGE2_COMPILE)
1441b8adde7SWilliam Kucharskistart_eltorito_exec_LDFLAGS = $(START_ELTORITO_LINK)
1451b8adde7SWilliam Kucharski
1461b8adde7SWilliam Kucharskistart_eltorito_exec-start.$(OBJEXT): stage2_size.h
1471b8adde7SWilliam Kucharski
1481b8adde7SWilliam Kucharskistage2_eltorito: pre_stage2 start_eltorito
1491b8adde7SWilliam Kucharski	-rm -f stage2_eltorito
1501b8adde7SWilliam Kucharski	cat start_eltorito pre_stage2 > stage2_eltorito
1511b8adde7SWilliam Kucharski
1521b8adde7SWilliam Kucharski# For e2fs_stage1_5 target.
1531b8adde7SWilliam Kucharskie2fs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \
1541b8adde7SWilliam Kucharski	stage1_5.c fsys_ext2fs.c bios.c
1551b8adde7SWilliam Kucharskie2fs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_EXT2FS=1 \
1561b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
1571b8adde7SWilliam Kucharskie2fs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_EXT2FS=1 \
1581b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
1591b8adde7SWilliam Kucharskie2fs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
1601b8adde7SWilliam Kucharski
1611b8adde7SWilliam Kucharski# For fat_stage1_5 target.
1621b8adde7SWilliam Kucharskifat_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \
1631b8adde7SWilliam Kucharski	stage1_5.c fsys_fat.c bios.c
1641b8adde7SWilliam Kucharskifat_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FAT=1 \
1651b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
1661b8adde7SWilliam Kucharskifat_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FAT=1 \
1671b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
1681b8adde7SWilliam Kucharskifat_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
1691b8adde7SWilliam Kucharski
1701b8adde7SWilliam Kucharski# For ffs_stage1_5 target.
1711b8adde7SWilliam Kucharskiffs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \
1721b8adde7SWilliam Kucharski	stage1_5.c fsys_ffs.c bios.c
1731b8adde7SWilliam Kucharskiffs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FFS=1 \
1741b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
1751b8adde7SWilliam Kucharskiffs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FFS=1 \
1761b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
1771b8adde7SWilliam Kucharskiffs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
1781b8adde7SWilliam Kucharski
1791b8adde7SWilliam Kucharski# For ufs_stage1_5 target.
1801b8adde7SWilliam Kucharskiufs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \
1811b8adde7SWilliam Kucharski	stage1_5.c fsys_ufs.c bios.c
1821b8adde7SWilliam Kucharskiufs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_UFS=1 \
1831b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
1841b8adde7SWilliam Kucharskiufs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_UFS=1 \
1851b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
1861b8adde7SWilliam Kucharskiufs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
1871b8adde7SWilliam Kucharski
1881b8adde7SWilliam Kucharski# For ufs2_stage1_5 target.
1891b8adde7SWilliam Kucharskiufs2_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \
1901b8adde7SWilliam Kucharski	stage1_5.c fsys_ufs2.c bios.c
1911b8adde7SWilliam Kucharskiufs2_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_UFS2=1 \
1921b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
1931b8adde7SWilliam Kucharskiufs2_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_UFS2=1 \
1941b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
1951b8adde7SWilliam Kucharskiufs2_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
1961b8adde7SWilliam Kucharski
1971b8adde7SWilliam Kucharski# For zfs_stage1_5 target.
1981b8adde7SWilliam Kucharskizfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \
199*a6f561b4SSašo Kiselkov	stage1_5.c fsys_zfs.c zfs_fletcher.c zfs_lzjb.c zfs_lz4.c \
200*a6f561b4SSašo Kiselkov	zfs_sha256.c bios.c
2011b8adde7SWilliam Kucharskizfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_ZFS=1 \
2021b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2031b8adde7SWilliam Kucharskizfs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_ZFS=1 \
2041b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2051b8adde7SWilliam Kucharskizfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
2061b8adde7SWilliam Kucharski
2071b8adde7SWilliam Kucharski# For minix_stage1_5 target.
2081b8adde7SWilliam Kucharskiminix_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \
2091b8adde7SWilliam Kucharski	stage1_5.c fsys_minix.c bios.c
2101b8adde7SWilliam Kucharskiminix_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_MINIX=1 \
2111b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2121b8adde7SWilliam Kucharskiminix_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_MINIX=1 \
2131b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2141b8adde7SWilliam Kucharskiminix_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
2151b8adde7SWilliam Kucharski
2161b8adde7SWilliam Kucharski# For reiserfs_stage1_5 target.
2171b8adde7SWilliam Kucharskireiserfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \
2181b8adde7SWilliam Kucharski	disk_io.c stage1_5.c fsys_reiserfs.c bios.c
2191b8adde7SWilliam Kucharskireiserfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_REISERFS=1 \
2201b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2211b8adde7SWilliam Kucharskireiserfs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_REISERFS=1 \
2221b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2231b8adde7SWilliam Kucharskireiserfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
2241b8adde7SWilliam Kucharski
2251b8adde7SWilliam Kucharski# For vstafs_stage1_5 target.
2261b8adde7SWilliam Kucharskivstafs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \
2271b8adde7SWilliam Kucharski	disk_io.c stage1_5.c fsys_vstafs.c bios.c
2281b8adde7SWilliam Kucharskivstafs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_VSTAFS=1 \
2291b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2301b8adde7SWilliam Kucharskivstafs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_VSTAFS=1 \
2311b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2321b8adde7SWilliam Kucharskivstafs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
2331b8adde7SWilliam Kucharski
2341b8adde7SWilliam Kucharski# For jfs_stage1_5 target.
2351b8adde7SWilliam Kucharskijfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \
2361b8adde7SWilliam Kucharski	disk_io.c stage1_5.c fsys_jfs.c bios.c
2371b8adde7SWilliam Kucharskijfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_JFS=1 \
2381b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2391b8adde7SWilliam Kucharskijfs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_JFS=1 \
2401b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2411b8adde7SWilliam Kucharskijfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
2421b8adde7SWilliam Kucharski
2431b8adde7SWilliam Kucharski# For xfs_stage1_5 target.
2441b8adde7SWilliam Kucharskixfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \
2451b8adde7SWilliam Kucharski	disk_io.c stage1_5.c fsys_xfs.c bios.c
2461b8adde7SWilliam Kucharskixfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_XFS=1 \
2471b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2481b8adde7SWilliam Kucharskixfs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_XFS=1 \
2491b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2501b8adde7SWilliam Kucharskixfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
2511b8adde7SWilliam Kucharski
2521b8adde7SWilliam Kucharski# For iso9660_stage1_5 target.
2531b8adde7SWilliam Kucharskiiso9660_stage1_5_exec_SOURCES = start_eltorito.S asm.S common.c char_io.c \
2541b8adde7SWilliam Kucharski	disk_io.c stage1_5.c fsys_iso9660.c bios.c
2551b8adde7SWilliam Kucharskiiso9660_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_ISO9660=1 \
2561b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2571b8adde7SWilliam Kucharskiiso9660_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_ISO9660=1 \
2581b8adde7SWilliam Kucharski	-DNO_BLOCK_FILES=1
2591b8adde7SWilliam Kucharskiiso9660_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
2601b8adde7SWilliam Kucharski
2611b8adde7SWilliam Kucharski# For diskless target.
2621b8adde7SWilliam Kucharskidiskless_exec_SOURCES = $(pre_stage2_exec_SOURCES)
2631b8adde7SWilliam Kucharskidiskless_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) \
2641b8adde7SWilliam Kucharski	-DSUPPORT_DISKLESS=1
2651b8adde7SWilliam Kucharskidiskless_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) \
2661b8adde7SWilliam Kucharski	-DSUPPORT_DISKLESS=1
2671b8adde7SWilliam Kucharskidiskless_exec_LDFLAGS = $(PRE_STAGE2_LINK)
2681b8adde7SWilliam Kucharskidiskless_exec_LDADD = ../netboot/libdrivers.a
2691b8adde7SWilliam Kucharski
2701b8adde7SWilliam Kucharskidiskless_size.h: diskless
2711b8adde7SWilliam Kucharski	-rm -f $@
2721b8adde7SWilliam Kucharski	set dummy `ls -l $^`; \
2731b8adde7SWilliam Kucharski	echo "#define DISKLESS_SIZE $$6" > $@
2741b8adde7SWilliam Kucharski
2751b8adde7SWilliam Kucharski# For nbloader target.
2761b8adde7SWilliam Kucharskinbloader_exec_SOURCES = nbloader.S
2771b8adde7SWilliam Kucharskinbloader_exec_CCASFLAGS = $(STAGE2_COMPILE)
2781b8adde7SWilliam Kucharskinbloader_exec_LDFLAGS = $(NBLOADER_LINK)
2791b8adde7SWilliam Kucharski
2801b8adde7SWilliam Kucharski# XXX: See the comment for start_exec-start.o.
2811b8adde7SWilliam Kucharskinbloader_exec-nbloader.$(OBJEXT): diskless_size.h
2821b8adde7SWilliam Kucharski
2831b8adde7SWilliam Kucharski# For nbgrub target.
2841b8adde7SWilliam Kucharskinbgrub: nbloader diskless
2851b8adde7SWilliam Kucharski	-rm -f $@
2861b8adde7SWilliam Kucharski	cat $^ > $@
2871b8adde7SWilliam Kucharski
2881b8adde7SWilliam Kucharski# For pxeloader target.
2891b8adde7SWilliam Kucharskipxeloader_exec_SOURCES = pxeloader.S
2901b8adde7SWilliam Kucharskipxeloader_exec_CCASFLAGS = $(STAGE2_COMPILE)
2911b8adde7SWilliam Kucharskipxeloader_exec_LDFLAGS = $(PXELOADER_LINK)
2921b8adde7SWilliam Kucharski
2931b8adde7SWilliam Kucharski# XXX: See the comment for start_exec-start.o.
2941b8adde7SWilliam Kucharskipxeloader_exec-pxeloader.$(OBJEXT): diskless_size.h
2951b8adde7SWilliam Kucharski
2961b8adde7SWilliam Kucharski# For pxegrub target.
2971b8adde7SWilliam Kucharskipxegrub: pxeloader diskless
2981b8adde7SWilliam Kucharski	-rm -f $@
2991b8adde7SWilliam Kucharski	cat $^ > $@
3001b8adde7SWilliam Kucharski
3011b8adde7SWilliam Kucharski# General rule for making a raw binary.
3021b8adde7SWilliam KucharskiSUFFIXES = .exec
3031b8adde7SWilliam Kucharski.exec:
3041b8adde7SWilliam Kucharski	$(OBJCOPY) -O binary $< $@
305