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 26 LIBRARY= 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. 33 PROG= libdump 34 35 # Include library definitions, then backup definitions, as in general 36 # we want the flags and such from our tree. 37 38 include ../../../lib/Makefile.lib 39 include ../Makefile.backup 40 41 SRCDIR = . 42 43 # Specifically request the construction of a static library. 44 # This library is not installed in the proto area. 45 LIBS= $(LIBRARY) 46 47 HDRS= ../include/byteorder.h \ 48 ../include/memutils.h ../include/myrcmd.h \ 49 ../../../head/protocols/dumprestore.h \ 50 ../include/rmt.h 51 52 YFILE= getdate.y 53 YSRC= getdate.c 54 55 CLOBBERFILES += $(LIBS) $(GLIB) 56 57 LOBJS= rmtlib.o myrcmd.o \ 58 $(YSRC:%.c=%.o) \ 59 byteorder.o memutils.o $(RPC_CLNT:%.c=%.o) $(RPC_XDR:%.c=%.o) 60 61 OBJECTS= $(LOBJS) 62 POFILES= $(OBJECTS:.o=.po) 63 GENERAL= ../include 64 GLOBAL= ../../../head 65 CPPFLAGS= -I$(GENERAL) -I$(GLOBAL) $(CPPFLAGS.master) 66 CERRWARN += -_gcc=-Wno-implicit-function-declaration 67 CERRWARN += -_gcc=-Wno-parentheses 68 CERRWARN += -_gcc=-Wno-unused-label 69 CERRWARN += -_gcc=-Wno-unused-variable 70 LINTOUT= lint.out 71 CLEANFILES= $(OBJECTS) $(LINTOUT) $(LINTLIB) $(DEBUGS) *.ln \ 72 $(YSRC) $(LIBRARY) 73 LINTFLAGS += -y 74 75 # support for -g library 76 GLIB= libdump_g.a 77 DEBUGS= $(OBJECTS:%=.debug/%) 78 $(GLIB):= AROBJS = $(DEBUGS) 79 $(GLIB):= DIR = .debug 80 $(GLIB):= CFLAGS= -g $(XESS) -DDEBUG -DYYDEBUG ${SBFLAGS} 81 82 .KEEP_STATE: 83 84 all: $(LIBS) 85 86 debug: $(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 101 install: 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 111 lint: lint.out 112 sed -f lint.sed lint.out 113 114 lint.out: $(LINTLIB) 115 116 check: $(HDRS) 117 $(CSTYLE) $(CSTYLEFLAGS) `echo $(SRCS) | sed -e s/getdate.c//` $(HDRS) 118 $(HDRCHK) $(HDRCHKFLAGS) $(HDRS) 119 120 # include library targets 121 include ../../../lib/Makefile.targ 122 123 _msg: $(POFILE)