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