1# 2# Copyright 2005 Sun Microsystems, Inc. All rights reserved. 3# Use is subject to license terms. 4# 5# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. 6# 7include ../../Makefile.grub 8include ../Makefile.solaris.defs 9 10.SUFFIXES: 11.SUFFIXES: .exec $(SUFFIXES) 12 13.exec: 14 $(OBJCOPY) -O binary $< $@ 15 16INCLUDES = -I. -I.. 17CCASFLAGS += -O2 -fno-builtin -nostdinc 18LDFLAGS += -nostdlib -N -Ttext 7C00 $(GLDTARGET) 19LIBS = 20 21 22DATA = $(STAGE1_DATA) 23PROGRAMS = $(STAGE1_EXEC) 24 25STAGE1_DATA = stage1 26STAGE1_EXEC = stage1.exec 27STAGE1_ASMOBJS = stage1.o 28STAGE1_OBJS = 29 30INSTALL_TARGETS = $(DATA:%=$(ROOT_BOOT_GRUB)/%) 31 32# 33# Source files to be installed in $(SRC_DIR). 34# 35SRC_DIR = $(ROOT_SRC)/stage1 36SRC_FILES = Makefile.am Makefile.in stage1.S stage1.h 37 38INSTALL_TARGETS += $(SRC_FILES:%=$(SRC_DIR)/%) 39 40 41all: $(PROGRAMS) $(DATA) 42 43 44$(STAGE1_EXEC): $(STAGE1_ASMOBJS) $(STAGE1_OBJS) 45 $(RM) $@ 46 $(LINK) -o $@ $(STAGE1_ASMOBJS) $(STAGE1_OBJS) $(LIBS) 47 48$(STAGE1_ASMOBJS): $$(@:.o=.S) 49 $(CCAS) $(CCASFLAGS) -c -o $@ $(@:.o=.S) 50 51$(STAGE1_OBJS): $$(@:.o=.c) 52 $(CC) $(CFLAGS) -c -o $@ $(@:.o=.c) 53 54 55install: all $(INSTALL_TARGETS) 56 57$(ROOT_BOOT_GRUB)/%: $(ROOT_BOOT_GRUB) % 58 $(INS.file) 59 60$(SRC_DIR)/%: $(SRC_DIR) % 61 $(INS.file) 62 63$(ROOT_BOOT_GRUB) $(SRC_DIR): 64 $(INS.dir) 65 66 67clean: _FORCE 68 $(RM) *.o $(PROGRAMS) 69 70clobber: clean 71 $(RM) $(DATA) 72 73_FORCE: 74