1# 2# Copyright 2005 Sun Microsystems, Inc. All rights reserved. 3# Use is subject to license terms. 4# Copyright (c) 2013 by Saso Kiselkov. All rights reserved. 5# Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved. 6# 7include ../../Makefile.grub 8include ../Makefile.solaris.defs 9 10.SUFFIXES: 11.SUFFIXES: .exec $(SUFFIXES) 12 13.exec: 14 $(OBJCOPY) -O binary $< $@ 15 16 17INCLUDES = -I. -I.. -I../stage1 -I../netboot 18LIBS = 19 20FSYS_CFLAGS = -DFSYS_UFS=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 \ 21 -DFSYS_ZFS=1 -DFSYS_UFS2=1 -DFSYS_ISO9660=1 \ 22 -DUSE_MD5_PASSWORDS=1 23$(STAGE2_NETBOOT)TFTP_CFLAGS = -DFSYS_TFTP=1 24$(OPTION_FS)FSYS_CFLAGS += -DFSYS_MINIX=1 -DFSYS_JFS=1 -DFSYS_XFS=1 \ 25 -DSYS_VSTAFS=1 -DFSYS_FFS=1 -DFSYS_REISERFS=1 26 27GRAPHICS_CFLAGS = -DSUPPORT_GRAPHICS=1 28# HERCULES_CFLAGS = -DSUPPORT_HERCULES=1 29NETBOOT_CFLAGS = -DSUPPORT_NETBOOT=1 30SERIAL_CFLAGS = -DSUPPORT_SERIAL=1 31GRUB_CFLAGS = -O2 -I../lib -DGRUB_UTIL=1 \ 32 -DFSYS_ISO9660=1 -DFSYS_ZFS=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 \ 33 -DFSYS_UFS=1 -DFSYS_UFS2=1 \ 34 -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 35$(OPTION_FS)GRUB_CFLAGS += -DFSYS_MINIX=1 -DFSYS_JFS=1 -DFSYS_XFS=1 \ 36 -DSYS_VSTAFS=1 -DFSYS_FFS=1 -DFSYS_REISERFS=1 37# GRUB_CFLAGS += -DSUPPORT_HERCULES=1 38STAGE1_5_CFLAGS = $(STAGE2_CFLAGS) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 39STAGE2_CFLAGS = -Os -fno-builtin -nostdinc \ 40 $(SERIAL_CFLAGS) $(GRAPHICS_CFLAGS) 41$(STAGE2_NETBOOT)STAGE2_CFLAGS += $(NETBOOT_CFLAGS) 42#STAGE2_CFLAGS += $(HERCULES_CFLAGS) 43 44NBLOADER_LINK = -nostdlib -N -Ttext 0 45PRE_STAGE2_LINK = -nostdlib -N -Ttext 8200 46PXELOADER_LINK = -nostdlib -N -Ttext 7C00 47STAGE1_5_LINK = -nostdlib -N -Ttext 2000 48START_ELTORITO_LINK = -nostdlib -N -Ttext 7C00 49START_LINK = -nostdlib -N -Ttext 8000 50 51LIBDRIVERS = ../netboot/libdrivers.a 52 53 54BUILT_SOURCES = stage2_size.h 55BUILT_SOURCES += diskless_size.h 56 57 58LIBRARIES = $(LIBGRUB) 59 60LIBGRUB = libgrub.a 61LIBGRUB_OBJS = libgrub_a-boot.o \ 62 libgrub_a-builtins.o \ 63 libgrub_a-char_io.o \ 64 libgrub_a-cmdline.o \ 65 libgrub_a-common.o \ 66 libgrub_a-disk_io.o \ 67 libgrub_a-expand.o \ 68 libgrub_a-fsys_ext2fs.o \ 69 libgrub_a-fsys_fat.o \ 70 libgrub_a-fsys_ffs.o \ 71 libgrub_a-fsys_iso9660.o \ 72 libgrub_a-fsys_jfs.o \ 73 libgrub_a-fsys_minix.o \ 74 libgrub_a-fsys_reiserfs.o \ 75 libgrub_a-zfs_sha256.o \ 76 libgrub_a-zfs_lzjb.o \ 77 libgrub_a-zfs_lz4.o \ 78 libgrub_a-zfs_fletcher.o \ 79 libgrub_a-fsys_zfs.o \ 80 libgrub_a-fsys_ufs.o \ 81 libgrub_a-fsys_ufs2.o \ 82 libgrub_a-fsys_vstafs.o \ 83 libgrub_a-fsys_xfs.o \ 84 libgrub_a-graphics.o \ 85 libgrub_a-gunzip.o \ 86 libgrub_a-md5.o \ 87 libgrub_a-serial.o \ 88 libgrub_a-stage2.o \ 89 libgrub_a-terminfo.o \ 90 libgrub_a-tparm.o 91$(LIBGRUB_OBJS) := CFLAGS = $(BASE_CFLAGS) $(GRUB_CFLAGS) 92 93 94# Will be installed in $(ROOT_BOOT_GRUB). 95INSTALL_DATA = $(E2FS_STAGE1_5_DATA) \ 96 $(FAT_STAGE1_5_DATA) \ 97 $(FFS_STAGE1_5_DATA) \ 98 $(ISO9660_STAGE1_5_DATA) \ 99 $(JFS_STAGE1_5_DATA) \ 100 $(MINIX_STAGE1_5_DATA) \ 101 $(NBGRUB_DATA) \ 102 $(PXEGRUB_DATA) \ 103 $(REISERFS_STAGE1_5_DATA) \ 104 $(STAGE2_DATA) \ 105 $(STAGE2_ELTORITO_DATA) \ 106 $(UFS2_STAGE1_5_DATA) \ 107 $(UFS_STAGE1_5_DATA) \ 108 $(ZFS_STAGE1_5_DATA) \ 109 $(VSTAFS_STAGE1_5_DATA) \ 110 $(XFS_STAGE1_5_DATA) 111 112# Won't be installed. 113NOINSTALL_DATA = $(DISKLESS_DATA) \ 114 $(NBLOADER_DATA) \ 115 $(PRE_STAGE2_DATA) \ 116 $(PXELOADER_DATA) \ 117 $(START_DATA) \ 118 $(START_ELTORITO_DATA) 119 120DATA = $(INSTALL_DATA) $(NOINSTALL_DATA) 121 122 123PROGRAMS = $(DISKLESS_EXEC) \ 124 $(E2FS_STAGE1_5_EXEC) \ 125 $(FAT_STAGE1_5_EXEC) \ 126 $(FFS_STAGE1_5_EXEC) \ 127 $(ISO9660_STAGE1_5_EXEC) \ 128 $(JFS_STAGE1_5_EXEC) \ 129 $(MINIX_STAGE1_5_EXEC) \ 130 $(NBLOADER_EXEC) \ 131 $(PRE_STAGE2_EXEC) \ 132 $(PXELOADER_EXEC) \ 133 $(REISERFS_STAGE1_5_EXEC) \ 134 $(START_EXEC) \ 135 $(START_ELTORITO_EXEC) \ 136 $(UFS2_STAGE1_5_EXEC) \ 137 $(UFS_STAGE1_5_EXEC) \ 138 $(ZFS_STAGE1_5_EXEC) \ 139 $(VSTAFS_STAGE1_5_EXEC) \ 140 $(XFS_STAGE1_5_EXEC) 141 142 143# 144# diskless 145# 146DISKLESS_DATA = diskless 147DISKLESS_EXEC = diskless.exec 148DISKLESS_ASMOBJS = diskless_exec-asm.o 149 150DISKLESS_OBJS = diskless_exec-bios.o \ 151 diskless_exec-boot.o \ 152 diskless_exec-builtins.o \ 153 diskless_exec-char_io.o \ 154 diskless_exec-cmdline.o \ 155 diskless_exec-common.o \ 156 diskless_exec-console.o \ 157 diskless_exec-disk_io.o \ 158 diskless_exec-expand.o \ 159 diskless_exec-fsys_ext2fs.o \ 160 diskless_exec-fsys_fat.o \ 161 diskless_exec-fsys_ffs.o \ 162 diskless_exec-fsys_iso9660.o \ 163 diskless_exec-fsys_jfs.o \ 164 diskless_exec-fsys_minix.o \ 165 diskless_exec-fsys_reiserfs.o \ 166 diskless_exec-zfs_sha256.o \ 167 diskless_exec-zfs_lzjb.o \ 168 diskless_exec-zfs_lz4.o \ 169 diskless_exec-zfs_fletcher.o \ 170 diskless_exec-fsys_zfs.o \ 171 diskless_exec-fsys_ufs.o \ 172 diskless_exec-fsys_ufs2.o \ 173 diskless_exec-fsys_vstafs.o \ 174 diskless_exec-fsys_xfs.o \ 175 diskless_exec-graphics.o \ 176 diskless_exec-gunzip.o \ 177 diskless_exec-hercules.o \ 178 diskless_exec-md5.o \ 179 diskless_exec-serial.o \ 180 diskless_exec-smp-imps.o \ 181 diskless_exec-stage2.o \ 182 diskless_exec-terminfo.o \ 183 diskless_exec-tparm.o 184 185$(DISKLESS_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(PRE_STAGE2_LINK) 186$(DISKLESS_EXEC) := LIBS = $(LIBDRIVERS) 187 188$(DISKLESS_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS) \ 189 $(FSYS_CFLAGS) -DFSYS_TFTP=1 \ 190 -DSUPPORT_DISKLESS=1 191 192$(DISKLESS_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE2_CFLAGS) \ 193 $(FSYS_CFLAGS) -DFSYS_TFTP=1 \ 194 -DSUPPORT_DISKLESS=1 195 196# 197# ext2fs stage 1.5 198# 199E2FS_STAGE1_5_DATA = e2fs_stage1_5 200E2FS_STAGE1_5_EXEC = e2fs_stage1_5.exec 201 202E2FS_STAGE1_5_ASMOBJS = e2fs_stage1_5_exec-start.o \ 203 e2fs_stage1_5_exec-asm.o 204 205E2FS_STAGE1_5_OBJS = e2fs_stage1_5_exec-bios.o \ 206 e2fs_stage1_5_exec-char_io.o \ 207 e2fs_stage1_5_exec-common.o \ 208 e2fs_stage1_5_exec-disk_io.o \ 209 e2fs_stage1_5_exec-fsys_ext2fs.o \ 210 e2fs_stage1_5_exec-stage1_5.o 211 212$(E2FS_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK) 213 214$(E2FS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \ 215 -DFSYS_EXT2FS=1 -DNO_BLOCK_FILES=1 216 217$(E2FS_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \ 218 -DFSYS_EXT2FS=1 -DNO_BLOCK_FILES=1 219 220# 221# FAT stage 1.5 222# 223FAT_STAGE1_5_DATA = fat_stage1_5 224FAT_STAGE1_5_EXEC = fat_stage1_5.exec 225 226FAT_STAGE1_5_ASMOBJS = fat_stage1_5_exec-start.o \ 227 fat_stage1_5_exec-asm.o 228 229FAT_STAGE1_5_OBJS = fat_stage1_5_exec-bios.o \ 230 fat_stage1_5_exec-char_io.o \ 231 fat_stage1_5_exec-common.o \ 232 fat_stage1_5_exec-disk_io.o \ 233 fat_stage1_5_exec-fsys_fat.o \ 234 fat_stage1_5_exec-stage1_5.o 235 236$(FAT_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK) 237 238$(FAT_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \ 239 -DFSYS_FAT=1 -DNO_BLOCK_FILES=1 240 241$(FAT_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \ 242 -DFSYS_FAT=1 -DNO_BLOCK_FILES=1 243 244# 245# FFS stage 1.5 246# 247FFS_STAGE1_5_DATA = ffs_stage1_5 248FFS_STAGE1_5_EXEC = ffs_stage1_5.exec 249 250FFS_STAGE1_5_ASMOBJS = ffs_stage1_5_exec-start.o \ 251 ffs_stage1_5_exec-asm.o 252 253FFS_STAGE1_5_OBJS = ffs_stage1_5_exec-bios.o \ 254 ffs_stage1_5_exec-char_io.o \ 255 ffs_stage1_5_exec-common.o \ 256 ffs_stage1_5_exec-disk_io.o \ 257 ffs_stage1_5_exec-fsys_ffs.o \ 258 ffs_stage1_5_exec-stage1_5.o 259 260$(FFS_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK) 261 262$(FFS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \ 263 -DFSYS_FFS=1 -DNO_BLOCK_FILES=1 264 265$(FFS_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \ 266 -DFSYS_FFS=1 -DNO_BLOCK_FILES=1 267 268# 269# ISO9660 stage 1.5 270# 271ISO9660_STAGE1_5_DATA = iso9660_stage1_5 272ISO9660_STAGE1_5_EXEC = iso9660_stage1_5.exec 273 274ISO9660_STAGE1_5_ASMOBJS = iso9660_stage1_5_exec-start_eltorito.o \ 275 iso9660_stage1_5_exec-asm.o 276 277ISO9660_STAGE1_5_OBJS = iso9660_stage1_5_exec-bios.o \ 278 iso9660_stage1_5_exec-char_io.o \ 279 iso9660_stage1_5_exec-common.o \ 280 iso9660_stage1_5_exec-disk_io.o \ 281 iso9660_stage1_5_exec-fsys_iso9660.o \ 282 iso9660_stage1_5_exec-stage1_5.o 283 284$(ISO9660_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK) 285 286$(ISO9660_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) \ 287 $(STAGE1_5_CFLAGS) \ 288 -DFSYS_ISO9660=1 -DNO_BLOCK_FILES=1 289 290$(ISO9660_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \ 291 -DFSYS_ISO9660=1 -DNO_BLOCK_FILES=1 292 293# 294# IBM JFS stage 1.5 295# 296JFS_STAGE1_5_DATA = jfs_stage1_5 297JFS_STAGE1_5_EXEC = jfs_stage1_5.exec 298 299JFS_STAGE1_5_ASMOBJS = jfs_stage1_5_exec-start.o \ 300 jfs_stage1_5_exec-asm.o 301 302JFS_STAGE1_5_OBJS = jfs_stage1_5_exec-bios.o \ 303 jfs_stage1_5_exec-char_io.o \ 304 jfs_stage1_5_exec-common.o \ 305 jfs_stage1_5_exec-disk_io.o \ 306 jfs_stage1_5_exec-fsys_jfs.o \ 307 jfs_stage1_5_exec-stage1_5.o 308 309$(JFS_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK) 310 311$(JFS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \ 312 -DFSYS_JFS=1 -DNO_BLOCK_FILES=1 313 314$(JFS_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \ 315 -DFSYS_JFS=1 -DNO_BLOCK_FILES=1 316 317# 318# Minix fs stage 1.5 319# 320MINIX_STAGE1_5_DATA = minix_stage1_5 321MINIX_STAGE1_5_EXEC = minix_stage1_5.exec 322 323MINIX_STAGE1_5_ASMOBJS = minix_stage1_5_exec-start.o \ 324 minix_stage1_5_exec-asm.o 325 326MINIX_STAGE1_5_OBJS = minix_stage1_5_exec-bios.o \ 327 minix_stage1_5_exec-char_io.o \ 328 minix_stage1_5_exec-common.o \ 329 minix_stage1_5_exec-disk_io.o \ 330 minix_stage1_5_exec-fsys_minix.o \ 331 minix_stage1_5_exec-stage1_5.o 332 333$(MINIX_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK) 334 335$(MINIX_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \ 336 -DFSYS_MINIX=1 -DNO_BLOCK_FILES=1 337 338$(MINIX_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \ 339 -DFSYS_MINIX=1 -DNO_BLOCK_FILES=1 340 341# 342# nbgrub 343# 344NBGRUB_DATA = nbgrub 345 346# 347# nbloader 348# 349NBLOADER_DATA = nbloader 350NBLOADER_EXEC = nbloader.exec 351NBLOADER_ASMOBJS = nbloader_exec-nbloader.o 352NBLOADER_OBJS = 353$(NBLOADER_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(NBLOADER_LINK) 354$(NBLOADER_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS) 355 356# 357# Pre-stage2 358# 359PRE_STAGE2_DATA = pre_stage2 360PRE_STAGE2_EXEC = pre_stage2.exec 361PRE_STAGE2_ASMOBJS = pre_stage2_exec-asm.o 362 363PRE_STAGE2_OBJS = pre_stage2_exec-bios.o \ 364 pre_stage2_exec-boot.o \ 365 pre_stage2_exec-builtins.o \ 366 pre_stage2_exec-char_io.o \ 367 pre_stage2_exec-cmdline.o \ 368 pre_stage2_exec-common.o \ 369 pre_stage2_exec-console.o \ 370 pre_stage2_exec-disk_io.o \ 371 pre_stage2_exec-expand.o \ 372 pre_stage2_exec-fsys_ext2fs.o \ 373 pre_stage2_exec-fsys_fat.o \ 374 pre_stage2_exec-fsys_ffs.o \ 375 pre_stage2_exec-fsys_iso9660.o \ 376 pre_stage2_exec-fsys_jfs.o \ 377 pre_stage2_exec-fsys_minix.o \ 378 pre_stage2_exec-fsys_reiserfs.o \ 379 pre_stage2_exec-zfs_sha256.o \ 380 pre_stage2_exec-zfs_lzjb.o \ 381 pre_stage2_exec-zfs_lz4.o \ 382 pre_stage2_exec-zfs_fletcher.o \ 383 pre_stage2_exec-fsys_zfs.o \ 384 pre_stage2_exec-fsys_ufs.o \ 385 pre_stage2_exec-fsys_ufs2.o \ 386 pre_stage2_exec-fsys_vstafs.o \ 387 pre_stage2_exec-fsys_xfs.o \ 388 pre_stage2_exec-graphics.o \ 389 pre_stage2_exec-gunzip.o \ 390 pre_stage2_exec-hercules.o \ 391 pre_stage2_exec-md5.o \ 392 pre_stage2_exec-serial.o \ 393 pre_stage2_exec-smp-imps.o \ 394 pre_stage2_exec-stage2.o \ 395 pre_stage2_exec-terminfo.o \ 396 pre_stage2_exec-tparm.o 397 398$(PRE_STAGE2_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(PRE_STAGE2_LINK) 399$(STAGE2_NETBOOT)$(PRE_STAGE2_EXEC) := LIBS = $(LIBDRIVERS) 400 401$(PRE_STAGE2_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS) \ 402 $(FSYS_CFLAGS) $(TFTP_CFLAGS) 403 404$(PRE_STAGE2_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE2_CFLAGS) \ 405 $(FSYS_CFLAGS) $(TFTP_CFLAGS) 406 407# 408# pxegrub 409# 410PXEGRUB_DATA = pxegrub 411 412# 413# pxeloader 414# 415PXELOADER_DATA = pxeloader 416PXELOADER_EXEC = pxeloader.exec 417PXELOADER_ASMOBJS = pxeloader_exec-pxeloader.o 418PXELOADER_OBJS = 419$(PXELOADER_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(PXELOADER_LINK) 420$(PXELOADER_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS) 421 422# 423# ReiserFS stage 1.5 424# 425REISERFS_STAGE1_5_DATA = reiserfs_stage1_5 426REISERFS_STAGE1_5_EXEC = reiserfs_stage1_5.exec 427 428REISERFS_STAGE1_5_ASMOBJS = reiserfs_stage1_5_exec-start.o \ 429 reiserfs_stage1_5_exec-asm.o 430 431REISERFS_STAGE1_5_OBJS = reiserfs_stage1_5_exec-bios.o \ 432 reiserfs_stage1_5_exec-char_io.o \ 433 reiserfs_stage1_5_exec-common.o \ 434 reiserfs_stage1_5_exec-disk_io.o \ 435 reiserfs_stage1_5_exec-fsys_reiserfs.o \ 436 reiserfs_stage1_5_exec-stage1_5.o 437 438$(REISERFS_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK) 439 440$(REISERFS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) \ 441 $(STAGE1_5_CFLAGS) \ 442 -DFSYS_REISERFS=1 -DNO_BLOCK_FILES=1 443 444$(REISERFS_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \ 445 -DFSYS_REISERFS=1 -DNO_BLOCK_FILES=1 446 447# 448# stage2 449# 450STAGE2_DATA = stage2 451 452# 453# Eltorito stage2 454# 455STAGE2_ELTORITO_DATA = stage2_eltorito 456 457# 458# start 459# 460START_DATA = start 461START_EXEC = start.exec 462START_ASMOBJS = start_exec-start.o 463START_OBJS = 464$(START_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(START_LINK) 465$(START_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS) 466 467# 468# Eltorito start 469# 470START_ELTORITO_DATA = start_eltorito 471START_ELTORITO_EXEC = start_eltorito.exec 472START_ELTORITO_ASMOBJS = start_eltorito_exec-start_eltorito.o 473START_ELTORITO_OBJS = 474$(START_ELTORITO_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(START_ELTORITO_LINK) 475$(START_ELTORITO_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE2_CFLAGS) 476 477# 478# UFS2 stage 1.5 479# 480UFS2_STAGE1_5_DATA = ufs2_stage1_5 481UFS2_STAGE1_5_EXEC = ufs2_stage1_5.exec 482 483UFS2_STAGE1_5_ASMOBJS = ufs2_stage1_5_exec-start.o \ 484 ufs2_stage1_5_exec-asm.o 485 486UFS2_STAGE1_5_OBJS = ufs2_stage1_5_exec-bios.o \ 487 ufs2_stage1_5_exec-char_io.o \ 488 ufs2_stage1_5_exec-common.o \ 489 ufs2_stage1_5_exec-disk_io.o \ 490 ufs2_stage1_5_exec-fsys_ufs2.o \ 491 ufs2_stage1_5_exec-stage1_5.o 492 493$(UFS2_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK) 494 495$(UFS2_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \ 496 -DFSYS_UFS2=1 -DNO_BLOCK_FILES=1 497 498$(UFS2_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \ 499 -DFSYS_UFS2=1 -DNO_BLOCK_FILES=1 500 501# 502# UFS stage 1.5 503# 504UFS_STAGE1_5_DATA = ufs_stage1_5 505UFS_STAGE1_5_EXEC = ufs_stage1_5.exec 506 507UFS_STAGE1_5_ASMOBJS = ufs_stage1_5_exec-start.o \ 508 ufs_stage1_5_exec-asm.o 509 510UFS_STAGE1_5_OBJS = ufs_stage1_5_exec-bios.o \ 511 ufs_stage1_5_exec-char_io.o \ 512 ufs_stage1_5_exec-common.o \ 513 ufs_stage1_5_exec-disk_io.o \ 514 ufs_stage1_5_exec-fsys_ufs.o \ 515 ufs_stage1_5_exec-stage1_5.o 516 517$(UFS_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK) 518 519$(UFS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \ 520 -DFSYS_UFS=1 -DNO_BLOCK_FILES=1 521 522$(UFS_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \ 523 -DFSYS_UFS=1 -DNO_BLOCK_FILES=1 524 525# 526# ZFS stage 1.5 527# 528ZFS_STAGE1_5_DATA = zfs_stage1_5 529ZFS_STAGE1_5_EXEC = zfs_stage1_5.exec 530 531ZFS_STAGE1_5_ASMOBJS = zfs_stage1_5_exec-start.o \ 532 zfs_stage1_5_exec-asm.o 533 534ZFS_STAGE1_5_OBJS = zfs_stage1_5_exec-bios.o \ 535 zfs_stage1_5_exec-char_io.o \ 536 zfs_stage1_5_exec-common.o \ 537 zfs_stage1_5_exec-disk_io.o \ 538 zfs_stage1_5_exec-zfs_sha256.o \ 539 zfs_stage1_5_exec-zfs_lzjb.o \ 540 zfs_stage1_5_exec-zfs_lz4.o \ 541 zfs_stage1_5_exec-zfs_fletcher.o \ 542 zfs_stage1_5_exec-fsys_zfs.o \ 543 zfs_stage1_5_exec-stage1_5.o 544 545$(ZFS_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK) 546 547$(ZFS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \ 548 -DFSYS_ZFS=1 -DNO_BLOCK_FILES=1 549 550$(ZFS_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \ 551 -DFSYS_ZFS=1 -DNO_BLOCK_FILES=1 552 553# 554# VSTa FS 555# 556VSTAFS_STAGE1_5_DATA = vstafs_stage1_5 557VSTAFS_STAGE1_5_EXEC = vstafs_stage1_5.exec 558 559VSTAFS_STAGE1_5_ASMOBJS = vstafs_stage1_5_exec-start.o \ 560 vstafs_stage1_5_exec-asm.o 561 562VSTAFS_STAGE1_5_OBJS = vstafs_stage1_5_exec-bios.o \ 563 vstafs_stage1_5_exec-char_io.o \ 564 vstafs_stage1_5_exec-common.o \ 565 vstafs_stage1_5_exec-disk_io.o \ 566 vstafs_stage1_5_exec-fsys_vstafs.o \ 567 vstafs_stage1_5_exec-stage1_5.o 568 569$(VSTAFS_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK) 570 571$(VSTAFS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \ 572 -DFSYS_VSTAFS=1 -DNO_BLOCK_FILES=1 573 574$(VSTAFS_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \ 575 -DFSYS_VSTAFS=1 -DNO_BLOCK_FILES=1 576 577# 578# SGI XFS stage 1.5 579# 580XFS_STAGE1_5_DATA = xfs_stage1_5 581XFS_STAGE1_5_EXEC = xfs_stage1_5.exec 582 583XFS_STAGE1_5_ASMOBJS = xfs_stage1_5_exec-start.o \ 584 xfs_stage1_5_exec-asm.o 585 586XFS_STAGE1_5_OBJS = xfs_stage1_5_exec-bios.o \ 587 xfs_stage1_5_exec-char_io.o \ 588 xfs_stage1_5_exec-common.o \ 589 xfs_stage1_5_exec-disk_io.o \ 590 xfs_stage1_5_exec-fsys_xfs.o \ 591 xfs_stage1_5_exec-stage1_5.o 592 593$(XFS_STAGE1_5_EXEC) := LDFLAGS = $(BASE_LDFLAGS) $(STAGE1_5_LINK) 594 595$(XFS_STAGE1_5_ASMOBJS) := CCASFLAGS = $(BASE_CCASFLAGS) $(STAGE1_5_CFLAGS) \ 596 -DFSYS_XFS=1 -DNO_BLOCK_FILES=1 597 598$(XFS_STAGE1_5_OBJS) := CFLAGS = $(BASE_CFLAGS) $(STAGE1_5_CFLAGS) \ 599 -DFSYS_XFS=1 -DNO_BLOCK_FILES=1 600 601 602INSTALL_TARGETS = $(INSTALL_DATA:%=$(ROOT_BOOT_GRUB)/%) \ 603 $(SRC_ZFSINC_DIR) 604 605# 606# Source files to be installed in $(ROOT_SRC). 607# 608SRC_DIR = $(ROOT_SRC)/stage2 609SRC_ZFSINC_DIR = $(SRC_DIR)/zfs-include 610SRC_FILES = Makefile.am Makefile.in apic.h apm.S asm.S bios.c boot.c \ 611 builtins.c char_io.c cmdline.c common.c console.c defs.h \ 612 dir.h disk_inode.h disk_inode_ffs.h disk_io.c expand.c \ 613 expand.h fat.h \ 614 filesys.h freebsd.h fs.h fsys_ext2fs.c fsys_fat.c \ 615 fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \ 616 zfs_sha256.c zfs_lzjb.c zfs_lz4.c zfs_fletcher.c fsys_zfs.c \ 617 fsys_reiserfs.c fsys_ufs.c fsys_ufs2.c fsys_vstafs.c \ 618 fsys_xfs.c graphics.c graphics.h gunzip.c hercules.c \ 619 hercules.h i386-elf.h imgact_aout.h iso9660.h jfs.h \ 620 mb_header.h mb_info.h md5.c md5.h nbi.h nbloader.S \ 621 pc_slice.h pxeloader.S serial.c serial.h setjmp.S shared.h \ 622 size_test smp-imps.c smp-imps.h stage1_5.c stage2.c \ 623 start.S start_eltorito.S term.h terminfo.c terminfo.h \ 624 tparm.c tparm.h fsys_zfs.h ufs.h ufs2.h vstafs.h xfs.h 625SRC_ZFSINC_FILES = dmu.h dmu_objset.h dnode.h dsl_dataset.h dsl_dir.h spa.h \ 626 uberblock_impl.h vdev_impl.h zap_impl.h zap_leaf.h zfs.h \ 627 zfs_acl.h zfs_znode.h zil.h zio.h zio_checksum.h 628 629INSTALL_TARGETS += $(SRC_FILES:%=$(SRC_DIR)/%) \ 630 $(SRC_ZFSINC_FILES:%=$(SRC_ZFSINC_DIR)/%) 631 632 633############################################################################### 634all: $(BUILT_SOURCES) .WAIT $(LIBRARIES) $(PROGRAMS) $(DATA) 635 636# 637# BUILT_SOURCES 638# 639stage2_size.h: $(PRE_STAGE2_DATA) 640 $(RM) $@ 641 set dummy `ls -l $(PRE_STAGE2_DATA)`; \ 642 echo "#define STAGE2_SIZE $$6" > $@ 643 644diskless_size.h: $(DISKLESS_DATA) 645 $(RM) $@ 646 set dummy `ls -l $(DISKLESS_DATA)`; \ 647 echo "#define DISKLESS_SIZE $$6" > $@ 648 649# 650# LIBRARIES 651# 652$(LIBGRUB): $(LIBGRUB_OBJS) 653 $(RM) $@ 654 $(AR) cru $@ $(LIBGRUB_OBJS) 655 $(RANLIB) $@ 656 657$(LIBGRUB_OBJS): $$(@:libgrub_a-%.o=%.c) 658 $(CC) $(CFLAGS) -c -o $@ $(@:libgrub_a-%.o=%.c) 659 660 661# 662# Diskless 663# 664$(DISKLESS_EXEC): $(DISKLESS_ASMOBJS) $(DISKLESS_OBJS) 665 $(RM) $@ 666 $(LINK) -o $@ $(DISKLESS_ASMOBJS) $(DISKLESS_OBJS) $(LIBS) 667 668$(DISKLESS_ASMOBJS): $$(@:diskless_exec-%.o=%.S) 669 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:diskless_exec-%.o=%.S) 670 671$(DISKLESS_OBJS): $$(@:diskless_exec-%.o=%.c) 672 $(CC) $(CFLAGS) -c -o $@ $(@:diskless_exec-%.o=%.c) 673 674# 675# ext2fs stage 1.5 676# 677$(E2FS_STAGE1_5_EXEC): $(E2FS_STAGE1_5_ASMOBJS) $(E2FS_STAGE1_5_OBJS) 678 $(RM) $@ 679 $(LINK) -o $@ $(E2FS_STAGE1_5_ASMOBJS) $(E2FS_STAGE1_5_OBJS) $(LIBS) 680 681$(E2FS_STAGE1_5_ASMOBJS): $$(@:e2fs_stage1_5_exec-%.o=%.S) 682 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:e2fs_stage1_5_exec-%.o=%.S) 683 684$(E2FS_STAGE1_5_OBJS): $$(@:e2fs_stage1_5_exec-%.o=%.c) 685 $(CC) $(CFLAGS) -c -o $@ $(@:e2fs_stage1_5_exec-%.o=%.c) 686 687# 688# FAT stage 1.5 689# 690$(FAT_STAGE1_5_EXEC): $(FAT_STAGE1_5_ASMOBJS) $(FAT_STAGE1_5_OBJS) 691 $(RM) $@ 692 $(LINK) -o $@ $(FAT_STAGE1_5_ASMOBJS) $(FAT_STAGE1_5_OBJS) $(LIBS) 693 694$(FAT_STAGE1_5_ASMOBJS): $$(@:fat_stage1_5_exec-%.o=%.S) 695 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:fat_stage1_5_exec-%.o=%.S) 696 697$(FAT_STAGE1_5_OBJS): $$(@:fat_stage1_5_exec-%.o=%.c) 698 $(CC) $(CFLAGS) -c -o $@ $(@:fat_stage1_5_exec-%.o=%.c) 699 700# 701# FFS stage 1.5 702# 703$(FFS_STAGE1_5_EXEC): $(FFS_STAGE1_5_ASMOBJS) $(FFS_STAGE1_5_OBJS) 704 $(RM) $@ 705 $(LINK) -o $@ $(FFS_STAGE1_5_ASMOBJS) $(FFS_STAGE1_5_OBJS) $(LIBS) 706 707$(FFS_STAGE1_5_ASMOBJS): $$(@:ffs_stage1_5_exec-%.o=%.S) 708 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:ffs_stage1_5_exec-%.o=%.S) 709 710$(FFS_STAGE1_5_OBJS): $$(@:ffs_stage1_5_exec-%.o=%.c) 711 $(CC) $(CFLAGS) -c -o $@ $(@:ffs_stage1_5_exec-%.o=%.c) 712 713# 714# ISO9660 stage 1.5 715# 716$(ISO9660_STAGE1_5_EXEC): $(ISO9660_STAGE1_5_ASMOBJS) $(ISO9660_STAGE1_5_OBJS) 717 $(RM) $@ 718 $(LINK) -o $@ $(ISO9660_STAGE1_5_ASMOBJS) $(ISO9660_STAGE1_5_OBJS) \ 719 $(LIBS) 720 721$(ISO9660_STAGE1_5_ASMOBJS): $$(@:iso9660_stage1_5_exec-%.o=%.S) 722 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:iso9660_stage1_5_exec-%.o=%.S) 723 724$(ISO9660_STAGE1_5_OBJS): $$(@:iso9660_stage1_5_exec-%.o=%.c) 725 $(CC) $(CFLAGS) -c -o $@ $(@:iso9660_stage1_5_exec-%.o=%.c) 726 727# 728# JFS stage 1.5 729# 730$(JFS_STAGE1_5_EXEC): $(JFS_STAGE1_5_ASMOBJS) $(JFS_STAGE1_5_OBJS) 731 $(RM) $@ 732 $(LINK) -o $@ $(JFS_STAGE1_5_ASMOBJS) $(JFS_STAGE1_5_OBJS) $(LIBS) 733 734$(JFS_STAGE1_5_ASMOBJS): $$(@:jfs_stage1_5_exec-%.o=%.S) 735 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:jfs_stage1_5_exec-%.o=%.S) 736 737$(JFS_STAGE1_5_OBJS): $$(@:jfs_stage1_5_exec-%.o=%.c) 738 $(CC) $(CFLAGS) -c -o $@ $(@:jfs_stage1_5_exec-%.o=%.c) 739 740# 741# Minix stage 1.5 742# 743$(MINIX_STAGE1_5_EXEC): $(MINIX_STAGE1_5_ASMOBJS) $(MINIX_STAGE1_5_OBJS) 744 $(RM) $@ 745 $(LINK) -o $@ $(MINIX_STAGE1_5_ASMOBJS) $(MINIX_STAGE1_5_OBJS) $(LIBS) 746 747$(MINIX_STAGE1_5_ASMOBJS): $$(@:minix_stage1_5_exec-%.o=%.S) 748 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:minix_stage1_5_exec-%.o=%.S) 749 750$(MINIX_STAGE1_5_OBJS): $$(@:minix_stage1_5_exec-%.o=%.c) 751 $(CC) $(CFLAGS) -c -o $@ $(@:minix_stage1_5_exec-%.o=%.c) 752 753# 754# nbgrub 755# 756$(NBGRUB_DATA): $(NBLOADER_DATA) $(DISKLESS_DATA) 757 $(RM) $@ 758 cat $(NBLOADER_DATA) $(DISKLESS_DATA) > $@ 759 760# 761# nbloader 762# 763$(NBLOADER_EXEC): $(NBLOADER_ASMOBJS) $(NBLOADER_OBJS) 764 $(RM) $@ 765 $(LINK) -o $@ $(NBLOADER_ASMOBJS) $(NBLOADER_OBJS) $(LIBS) 766 767$(NBLOADER_ASMOBJS): $$(@:nbloader_exec-%.o=%.S) diskless_size.h 768 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:nbloader_exec-%.o=%.S) 769 770$(NBLOADER_OBJS): $$(@:nbloader_exec-%.o=%.c) 771 $(CC) $(CFLAGS) -c -o $@ $(@:nbloader_exec-%.o=%.c) 772 773# 774# Pre-stage2 775# 776$(PRE_STAGE2_EXEC): $(PRE_STAGE2_ASMOBJS) $(PRE_STAGE2_OBJS) 777 $(RM) $@ 778 $(LINK) -o $@ $(PRE_STAGE2_ASMOBJS) $(PRE_STAGE2_OBJS) $(LIBS) 779 780$(PRE_STAGE2_ASMOBJS): $$(@:pre_stage2_exec-%.o=%.S) 781 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:pre_stage2_exec-%.o=%.S) 782 783$(PRE_STAGE2_OBJS): $$(@:pre_stage2_exec-%.o=%.c) 784 $(CC) $(CFLAGS) -c -o $@ $(@:pre_stage2_exec-%.o=%.c) 785 786# 787# pxegrub 788# 789$(PXEGRUB_DATA): $(PXELOADER_DATA) $(DISKLESS_DATA) 790 $(RM) $@ 791 cat $(PXELOADER_DATA) $(DISKLESS_DATA) > $@ 792 793# 794# pxeloader 795# 796$(PXELOADER_EXEC): $(PXELOADER_ASMOBJS) $(PXELOADER_OBJS) 797 $(RM) $@ 798 $(LINK) -o $@ $(PXELOADER_ASMOBJS) $(PXELOADER_OBJS) $(LIBS) 799 800$(PXELOADER_ASMOBJS): $$(@:pxeloader_exec-%.o=%.S) diskless_size.h 801 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:pxeloader_exec-%.o=%.S) 802 803$(PXELOADER_OBJS): $$(@:pxeloader_exec-%.o=%.c) 804 $(CC) $(CFLAGS) -c -o $@ $(@:pxeloader_exec-%.o=%.c) 805 806# 807# ReiserFS stage 1.5 808# 809$(REISERFS_STAGE1_5_EXEC): $(REISERFS_STAGE1_5_ASMOBJS) \ 810 $(REISERFS_STAGE1_5_OBJS) 811 $(RM) $@ 812 $(LINK) -o $@ $(REISERFS_STAGE1_5_ASMOBJS) $(REISERFS_STAGE1_5_OBJS) \ 813 $(LIBS) 814 815$(REISERFS_STAGE1_5_ASMOBJS): $$(@:reiserfs_stage1_5_exec-%.o=%.S) 816 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:reiserfs_stage1_5_exec-%.o=%.S) 817 818$(REISERFS_STAGE1_5_OBJS): $$(@:reiserfs_stage1_5_exec-%.o=%.c) 819 $(CC) $(CFLAGS) -c -o $@ $(@:reiserfs_stage1_5_exec-%.o=%.c) 820 821# 822# stage2 823# 824$(STAGE2_DATA): $(START_DATA) $(PRE_STAGE2_DATA) 825 $(RM) $@ 826 cat $(START_DATA) $(PRE_STAGE2_DATA) > $@ 827# 828# Eltorito stage2 829# 830$(STAGE2_ELTORITO_DATA): $(START_ELTORITO_DATA) $(PRE_STAGE2_DATA) 831 $(RM) $@ 832 cat $(START_ELTORITO_DATA) $(PRE_STAGE2_DATA) > $@ 833 834# 835# start 836# 837$(START_EXEC): $(START_ASMOBJS) $(START_OBJS) 838 $(RM) $@ 839 $(LINK) -o $@ $(START_ASMOBJS) $(START_OBJS) $(LIBS) 840 841$(START_ASMOBJS): $$(@:start_exec-%.o=%.S) stage2_size.h 842 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:start_exec-%.o=%.S) 843 844$(START_OBJS): $$(@:start_exec-%.o=%.c) 845 $(CC) $(CFLAGS) -c -o $@ $(@:start_exec-%.o=%.c) 846 847# 848# Eltorito start 849# 850$(START_ELTORITO_EXEC): $(START_ELTORITO_ASMOBJS) $(START_ELTORITO_OBJS) 851 $(RM) $@ 852 $(LINK) -o $@ $(START_ELTORITO_ASMOBJS) $(START_ELTORITO_OBJS) $(LIBS) 853 854$(START_ELTORITO_ASMOBJS): $$(@:start_eltorito_exec-%.o=%.S) stage2_size.h 855 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:start_eltorito_exec-%.o=%.S) 856 857$(START_ELTORITO_OBJS): $$(@:start_eltorito_exec-%.o=%.c) 858 $(CC) $(CFLAGS) -c -o $@ $(@:start_eltorito_exec-%.o=%.c) 859 860# 861# UFS2 stage 1.5 862# 863$(UFS2_STAGE1_5_EXEC): $(UFS2_STAGE1_5_ASMOBJS) $(UFS2_STAGE1_5_OBJS) 864 $(RM) $@ 865 $(LINK) -o $@ $(UFS2_STAGE1_5_ASMOBJS) $(UFS2_STAGE1_5_OBJS) $(LIBS) 866 867$(UFS2_STAGE1_5_ASMOBJS): $$(@:ufs2_stage1_5_exec-%.o=%.S) 868 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:ufs2_stage1_5_exec-%.o=%.S) 869 870$(UFS2_STAGE1_5_OBJS): $$(@:ufs2_stage1_5_exec-%.o=%.c) 871 $(CC) $(CFLAGS) -c -o $@ $(@:ufs2_stage1_5_exec-%.o=%.c) 872 873# 874# UFS stage 1.5 875# 876$(UFS_STAGE1_5_EXEC): $(UFS_STAGE1_5_ASMOBJS) $(UFS_STAGE1_5_OBJS) 877 $(RM) $@ 878 $(LINK) -o $@ $(UFS_STAGE1_5_ASMOBJS) $(UFS_STAGE1_5_OBJS) $(LIBS) 879 880$(UFS_STAGE1_5_ASMOBJS): $$(@:ufs_stage1_5_exec-%.o=%.S) 881 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:ufs_stage1_5_exec-%.o=%.S) 882 883$(UFS_STAGE1_5_OBJS): $$(@:ufs_stage1_5_exec-%.o=%.c) 884 $(CC) $(CFLAGS) -c -o $@ $(@:ufs_stage1_5_exec-%.o=%.c) 885 886# 887# ZFS stage 1.5 888# 889$(ZFS_STAGE1_5_EXEC): $(ZFS_STAGE1_5_ASMOBJS) $(ZFS_STAGE1_5_OBJS) 890 $(RM) $@ 891 $(LINK) -o $@ $(ZFS_STAGE1_5_ASMOBJS) $(ZFS_STAGE1_5_OBJS) $(LIBS) 892 893$(ZFS_STAGE1_5_ASMOBJS): $$(@:zfs_stage1_5_exec-%.o=%.S) 894 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:zfs_stage1_5_exec-%.o=%.S) 895 896$(ZFS_STAGE1_5_OBJS): $$(@:zfs_stage1_5_exec-%.o=%.c) 897 $(CC) $(CFLAGS) -c -o $@ $(@:zfs_stage1_5_exec-%.o=%.c) 898 899# 900# VSTa stage 1.5 901# 902$(VSTAFS_STAGE1_5_EXEC): $(VSTAFS_STAGE1_5_ASMOBJS) $(VSTAFS_STAGE1_5_OBJS) 903 $(RM) $@ 904 $(LINK) -o $@ $(VSTAFS_STAGE1_5_ASMOBJS) $(VSTAFS_STAGE1_5_OBJS) $(LIBS) 905 906$(VSTAFS_STAGE1_5_ASMOBJS): $$(@:vstafs_stage1_5_exec-%.o=%.S) 907 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:vstafs_stage1_5_exec-%.o=%.S) 908 909$(VSTAFS_STAGE1_5_OBJS): $$(@:vstafs_stage1_5_exec-%.o=%.c) 910 $(CC) $(CFLAGS) -c -o $@ $(@:vstafs_stage1_5_exec-%.o=%.c) 911 912# 913# SGI XFS stage 1.5 914# 915$(XFS_STAGE1_5_EXEC): $(XFS_STAGE1_5_ASMOBJS) $(XFS_STAGE1_5_OBJS) 916 $(RM) $@ 917 $(LINK) -o $@ $(XFS_STAGE1_5_ASMOBJS) $(XFS_STAGE1_5_OBJS) $(LIBS) 918 919$(XFS_STAGE1_5_ASMOBJS): $$(@:xfs_stage1_5_exec-%.o=%.S) 920 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:xfs_stage1_5_exec-%.o=%.S) 921 922$(XFS_STAGE1_5_OBJS): $$(@:xfs_stage1_5_exec-%.o=%.c) 923 $(CC) $(CFLAGS) -c -o $@ $(@:xfs_stage1_5_exec-%.o=%.c) 924 925 926 927install: all $(INSTALL_TARGETS) 928 929$(ROOT_BOOT_GRUB)/%: $(ROOT_BOOT_GRUB) % 930 $(INS.file) 931 932$(SRC_DIR)/%: $(SRC_DIR) % 933 $(INS.file) 934 935$(SRC_ZFSINC_DIR)/%: $(SRC_ZFSINC_DIR) % 936 $(INS.file) 937 938$(ROOT_BOOT_GRUB) $(SRC_DIR) $(SRC_ZFSINC_DIR): 939 $(INS.dir) 940 941clean: _FORCE 942 $(RM) *.o $(BUILT_SOURCES) $(LIBRARIES) $(PROGRAMS) $(NOINSTALL_DATA) 943 944clobber: clean 945 $(RM) $(INSTALL_DATA) 946 947_FORCE: 948