xref: /illumos-gate/usr/src/grub/grub-0.97/stage1/Makefile.solaris (revision 9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829)
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#
7include ../../Makefile.grub
8include ../Makefile.solaris.defs
9
10.SUFFIXES:
11.SUFFIXES: .exec $(SUFFIXES)
12
13.exec:
14	$(OBJCOPY) -O binary $< $@
15
16
17INCLUDES	= -I. -I..
18CCASFLAGS	+= -O2 -fno-builtin -nostdinc
19LDFLAGS		+= -nostdlib -N -Ttext 7C00
20LIBS		=
21
22
23DATA		= $(STAGE1_DATA)
24PROGRAMS	= $(STAGE1_EXEC)
25
26STAGE1_DATA	= stage1
27STAGE1_EXEC	= stage1.exec
28STAGE1_ASMOBJS	= stage1.o
29STAGE1_OBJS	=
30
31INSTALL_TARGETS	= $(DATA:%=$(ROOT_BOOT_GRUB)/%)
32
33#
34# Source files to be installed in $(SRC_DIR).
35#
36SRC_DIR		= $(ROOT_SRC)/stage1
37SRC_FILES	= Makefile.am Makefile.in stage1.S stage1.h
38
39INSTALL_TARGETS	+= $(SRC_FILES:%=$(SRC_DIR)/%)
40
41
42all: $(PROGRAMS) $(DATA)
43
44
45$(STAGE1_EXEC): $(STAGE1_ASMOBJS) $(STAGE1_OBJS)
46	$(RM) $@
47	$(LINK) -o $@ $(STAGE1_ASMOBJS) $(STAGE1_OBJS) $(LIBS)
48
49$(STAGE1_ASMOBJS): $$(@:.o=.S)
50	$(CCAS) $(CCASFLAGS) -c -o $@ $(@:.o=.S)
51
52$(STAGE1_OBJS): $$(@:.o=.c)
53	$(CC) $(CFLAGS) -c -o $@ $(@:.o=.c)
54
55
56install: all $(INSTALL_TARGETS)
57
58$(ROOT_BOOT_GRUB)/%: $(ROOT_BOOT_GRUB) %
59	$(INS.file)
60
61$(SRC_DIR)/%: $(SRC_DIR) %
62	$(INS.file)
63
64$(ROOT_BOOT_GRUB) $(SRC_DIR):
65	$(INS.dir)
66
67
68clean: _FORCE
69	$(RM) *.o $(PROGRAMS)
70
71clobber: clean
72	$(RM) $(DATA)
73
74_FORCE:
75