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