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 2006 Sun Microsystems, Inc. All rights reserved. 23# Use is subject to license terms. 24# 25 26LIBRARY= libdump.a 27 28# Has to be before include of Makefile.backup 29# This should be POFILE=libdump.po, but that causes make to 30# fall over due to some seriously weird interactions in the 31# various indirectly-included makefiles. So, since this works 32# and is otherwise harmless, we fake it. 33PROG= libdump 34 35# Include library definitions, then backup definitions, as in general 36# we want the flags and such from our tree. 37 38include ../../../lib/Makefile.lib 39include ../Makefile.backup 40 41SRCDIR = . 42 43# Specifically request the construction of a static library. 44# This library is not installed in the proto area. 45LIBS= $(LIBRARY) 46 47HDRS= ../include/byteorder.h \ 48 ../include/memutils.h ../include/myrcmd.h \ 49 ../../../head/protocols/dumprestore.h \ 50 ../include/rmt.h 51 52YFILE= getdate.y 53YSRC= getdate.c 54 55CLOBBERFILES= $(YSRC) $(GLIB) *.ln 56 57LOBJS= rmtlib.o myrcmd.o \ 58 $(YSRC:%.c=%.o) \ 59 byteorder.o memutils.o $(RPC_CLNT:%.c=%.o) $(RPC_XDR:%.c=%.o) 60 61OBJECTS= $(LOBJS) 62POFILES= $(OBJECTS:.o=.po) 63GENERAL= ../include 64GLOBAL= ../../../head 65CPPFLAGS= -I$(GENERAL) -I$(GLOBAL) $(CPPFLAGS.master) 66CERRWARN += -_gcc=-Wno-implicit-function-declaration 67CERRWARN += -_gcc=-Wno-parentheses 68CERRWARN += -_gcc=-Wno-unused-label 69CERRWARN += -_gcc=-Wno-unused-variable 70LINTOUT= lint.out 71CLEANFILES= $(OBJECTS) $(LINTOUT) $(LINTLIB) $(DEBUGS) *.ln \ 72 $(YSRC) $(LIBRARY) 73LINTFLAGS += -y 74 75# support for -g library 76GLIB= libdump_g.a 77DEBUGS= $(OBJECTS:%=.debug/%) 78$(GLIB):= AROBJS = $(DEBUGS) 79$(GLIB):= DIR = .debug 80$(GLIB):= CFLAGS= -g $(XESS) -DDEBUG -DYYDEBUG ${SBFLAGS} 81 82.KEEP_STATE: 83 84all: $(LIBS) 85 86debug: $(LIBS) $(GLIB) 87 88.debug: 89 -@mkdir -p $@ 90 91.debug/%.o: %.c 92 $(COMPILE.c) -o $@ $< 93 $(POST_PROCESS_O) 94 95$(GLIB): .debug $$(DEBUGS) 96 $(BUILD.AR) 97 $(POST_PROCESS_A) 98 99$(OBJECTS): $(HDRS) 100 101install: all 102 103$(POFILE): $(POFILES) 104 $(RM) $@; cat $(POFILES) > $@ 105 106# rpcgen produces unused local variables that we can't easily suppress. 107# It is also stupid about 32/64 bit integers. Since we don't support 108# the RPC subsystem any more, just ignore complaints about it all. 109# We have no control over yaccpar, and it has lots of 32/64 complaints. 110# Assumes lint run with -s argument 111lint: lint.out 112 sed -f lint.sed lint.out 113 114lint.out: $(LINTLIB) 115 116check: $(HDRS) 117 $(CSTYLE) $(CSTYLEFLAGS) `echo $(SRCS) | sed -e s/getdate.c//` $(HDRS) 118 $(HDRCHK) $(HDRCHKFLAGS) $(HDRS) 119 120# include library targets 121include ../../../lib/Makefile.targ 122 123_msg: $(POFILE) 124