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