xref: /illumos-gate/usr/src/grub/grub-0.97/stage1/Makefile.solaris (revision d865fc92e4b640c73c2957a20b3d82622c741be5)
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