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