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