1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
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) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
23#
24
25PROG= savecore
26SRCS= ../savecore.c ../../../uts/common/os/compress.c
27OBJS= savecore.o compress.o
28
29include ../../Makefile.cmd
30
31C99MODE = $(C99_ENABLE)
32
33CFLAGS += $(CCVERBOSE)
34CFLAGS64 += $(CCVERBOSE)
35CPPFLAGS += -D_LARGEFILE64_SOURCE=1 -DBZ_NO_STDIO -I$(SRC)/uts/common
36
37#
38# savecore is compiled with bits from $(SRC)/common/bzip2 and some function
39# symbols there are defined as weak; if you leave them out of
40# savecore.c it will compile, but trying to call that function
41# will jump to 0.  So we use -ztext to avoid that.
42#
43LDFLAGS += -ztext
44
45BZIP2OBJS =	bz2blocksort.o	\
46		bz2compress.o	\
47		bz2decompress.o	\
48		bz2randtable.o	\
49		bz2bzlib.o	\
50		bz2crctable.o	\
51		bz2huffman.o
52
53.KEEP_STATE:
54
55all: $(PROG)
56
57$(PROG): $(OBJS) $(BZIP2OBJS)
58	$(LINK.c) -o $(PROG) $(OBJS) $(BZIP2OBJS) $(LDLIBS)
59	$(POST_PROCESS)
60
61clean:
62	$(RM) $(OBJS) $(BZIP2OBJS)
63
64lint := CPPFLAGS += -I$(SRC)/common
65
66#
67# Linting the usr/src/common/bzip2 source produces reams of complaints.
68# So we only lint regular SRCS, but we need to excuse two complaints
69# related to bz_internal_error.
70#
71
72lint := BZ2LINTCOPOUTS = -erroff=E_NAME_USED_NOT_DEF2
73lint := BZ2LINTCOPOUTS += -erroff=E_NAME_DEF_NOT_USED2
74
75lint := LINTFLAGS += $(BZ2LINTCOPOUTS)
76lint := LINTFLAGS64 += $(BZ2LINTCOPOUTS)
77
78lint:	$(LINTSRCS)
79	$(LINT.c) $(SRCS) $(LDLIBS)
80
81include ../../Makefile.targ
82
83%.o: ../%.c
84	$(COMPILE.c) -I$(SRC)/common $<
85	$(POST_PROCESS_O)
86
87%.o: ../../../uts/common/os/%.c
88	$(COMPILE.c) $<
89	$(POST_PROCESS_O)
90
91bz2%.o: ../../../common/bzip2/%.c
92	$(COMPILE.c) -o $@ -I$(SRC)/common -I$(SRC)/common/bzip2 $<
93	$(POST_PROCESS_O)
94