6 # You may not use this file except in compliance with the License.
7 #
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
12 #
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 #
19 # CDDL HEADER END
20 #
21 #
22 # Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
23 #
24 # Copyright 2013 Nexenta Systems, Inc. All rights reserved.
25 #
26 # Copyright (c) 2019, Joyent, Inc.
27 #
28
29 COBJS = brand_util.o
30 ASOBJS = crt.o handler.o runexe.o
31 OFFSETS_SRC = ../common/offsets.in
32 OFFSETS_H = assym.h
33 OBJECTS = $(COBJS) $(ASOBJS)
34 CLOBBERFILES += $(OFFSETS_H)
35
36 include $(SRC)/lib/Makefile.lib
37
38 SRCDIR = ../common
39 CSRCS = $(COBJS:%o=../common/%c)
40 ASSRCS = $(ASOBJS:%o=$(ISASRCDIR)/%s)
41 SRCS = $(CSRCS) $(ASSRCS)
42
43 #
44 # Ugh, this is a gross hack. Our assembly routines uses lots of defines
45 # to simplify variable access. All these defines work fine for amd64
46 # compiles because when compiling for amd64 we use the GNU assembler,
47 # gas. For 32-bit code we use the Sun assembler, as. Unfortunatly
48 # as does not handle certian constructs that gas does. So rather than
49 # make our code less readable, we'll just use gas to compile our 32-bit
50 # code as well.
51 #
52 i386_AS = $(amd64_AS)
53
54 CPPFLAGS += -D_REENTRANT -U_ASM -I. -I../sys
55 CFLAGS += $(CCVERBOSE)
56 ASFLAGS = -P $(ASFLAGS_$(CURTYPE)) -D_ASM -I. -I../sys
57
58 .KEEP_STATE:
59
60 #
61 # build the offset header before trying to compile any files. (it's included
62 # by brand_misc.h, so it's needed for all objects, not just assembly ones.)
63 #
64 # Note we have to build assym.h via its dependency on pics/% so that the
65 # target dependent assignment of CTF_FLAGS will be there, otherwise make
66 # will see two different commands to build it (endless rebuilds).
67 #
68 all: pics .WAIT $$(PICS)
69
70 lint: lintcheck
71
72 $(OBJECTS:%=pics/%): $(OFFSETS_H)
73
74 $(OFFSETS_H): $(OFFSETS_SRC)
75 $(OFFSETS_CREATE) < $(OFFSETS_SRC) >$@
76
77 pics/%.o: $(ISASRCDIR)/%.s
78 $(COMPILE.s) -o $@ $<
79 $(POST_PROCESS_S_O)
80
81 include $(SRC)/lib/Makefile.targ
|
6 # You may not use this file except in compliance with the License.
7 #
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
12 #
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 #
19 # CDDL HEADER END
20 #
21 #
22 # Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
23 #
24 # Copyright 2013 Nexenta Systems, Inc. All rights reserved.
25 #
26 # Copyright 2019 Joyent, Inc.
27 #
28
29 COBJS = brand_util.o
30 ASOBJS = crt.o handler.o runexe.o
31 OFFSETS_SRC = ../common/offsets.in
32 OFFSETS_H = assym.h
33 OBJECTS = $(COBJS) $(ASOBJS)
34 CLOBBERFILES += $(OFFSETS_H)
35
36 include $(SRC)/lib/Makefile.lib
37
38 SRCDIR = ../common
39 CSRCS = $(COBJS:%o=../common/%c)
40 ASSRCS = $(ASOBJS:%o=$(ISASRCDIR)/%s)
41 SRCS = $(CSRCS) $(ASSRCS)
42
43 #
44 # Ugh, this is a gross hack. Our assembly routines uses lots of defines
45 # to simplify variable access. All these defines work fine for amd64
46 # compiles because when compiling for amd64 we use the GNU assembler,
47 # gas. For 32-bit code we use the Sun assembler, as. Unfortunatly
48 # as does not handle certian constructs that gas does. So rather than
49 # make our code less readable, we'll just use gas to compile our 32-bit
50 # code as well.
51 #
52 i386_AS = $(amd64_AS)
53
54 CPPFLAGS += -D_REENTRANT -U_ASM -I. -I../sys
55 CFLAGS += $(CCVERBOSE)
56 ASFLAGS = -P $(ASFLAGS_$(CURTYPE)) -D_ASM -I. -I../sys
57
58 # intentional code after abort()
59 SMOFF += unreachable
60
61 .KEEP_STATE:
62
63 #
64 # build the offset header before trying to compile any files. (it's included
65 # by brand_misc.h, so it's needed for all objects, not just assembly ones.)
66 #
67 # Note we have to build assym.h via its dependency on pics/% so that the
68 # target dependent assignment of CTF_FLAGS will be there, otherwise make
69 # will see two different commands to build it (endless rebuilds).
70 #
71 all: pics .WAIT $$(PICS)
72
73 $(OBJECTS:%=pics/%): $(OFFSETS_H)
74
75 $(OFFSETS_H): $(OFFSETS_SRC)
76 $(OFFSETS_CREATE) < $(OFFSETS_SRC) >$@
77
78 pics/%.o: $(ISASRCDIR)/%.s
79 $(COMPILE.s) -o $@ $<
80 $(POST_PROCESS_S_O)
81
82 include $(SRC)/lib/Makefile.targ
|