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#
23# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26# lib/gss_mechs/mech_dh/backend/Makefile
27#
28PROTOCOL_DIR = mech
29SUBDIRS = $(MACH) $(BUILD64) $(MACH64)
30
31PROTO_FILE = dhmech_prot.x
32DERIVED_FILES = mech/dhmech_prot.h mech/xdr_token.c
33CLEANFILES += $(DERIVED_FILES)
34
35# include library definitions
36include ../../../Makefile.lib
37
38TEXT_DOMAIN =	SUNW_OST_NETRPC
39POFILES =	generic.po
40POFILE = mech_dh.po
41
42SED=    sed
43GREP=   grep
44
45all :=          TARGET= all
46clean :=        TARGET= clean
47clobber :=      TARGET= clobber
48delete :=       TARGET= delete
49install :=      TARGET= install
50lint :=         TARGET= lint
51catalog :=      TARGET= catalog
52package :=      TARGET= package
53_msg :=		TARGET= _msg
54
55.KEEP_STATE:
56all:            $(DERIVED_FILES) .WAIT $(SUBDIRS)
57
58install:        $(DERIVED_FILES) .WAIT $(SUBDIRS)
59
60clean clobber delete lint catalog package:      $(SUBDIRS)
61
62#
63# Rules for building the derived files
64#
65mech/xdr_token.c: $(PROTOCOL_DIR)/dhmech_prot.x
66	$(RPCGEN) -c $(PROTOCOL_DIR)/dhmech_prot.x |\
67	$(SED) -e 's!$(PROTOCOL_DIR)/dhmech_prot.h!dhmech_prot.h!' > $@
68
69mech/dhmech_prot.h: mech/dhmech_prot.x
70	$(RPCGEN) -h $(PROTOCOL_DIR)/dhmech_prot.x > $@
71
72# include library targets
73include ../../../Makefile.targ
74
75# EXPORT DELETE START
76# Special target to clean up the source tree for export distribution
77# Warning: This target changes the source tree
78EXPORT_SRC:
79	$(RM) Makefile+ Makefile.com+ mech/crypto.c+ mech/dhmech.c+
80	$(SED) -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d"	\
81			< Makefile > Makefile+
82	$(MV) Makefile+ Makefile
83	$(SED) -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d"	\
84			< Makefile.com > Makefile.com+
85	$(MV) Makefile.com+ Makefile.com
86	$(SED) -e "/EXPORT DELETE START/,/EXPORT DELETE END/d" \
87		< mech/crypto.c > mech/crypto.c+
88	$(MV) mech/crypto.c+ mech/crypto.c
89	$(SED) -e "/EXPORT DELETE START/,/EXPORT DELETE END/d" \
90		< mech/dhmech.c > mech/dhmech.c+
91	$(MV) mech/dhmech.c+ mech/dhmech.c
92	$(CHMOD) 444 Makefile Makefile.com mech/crypto.c mech/dhmech.c
93
94# CRYPT DELETE START
95CRYPT_SRC:
96	$(RM) Makefile+ Makefile.com+ mech/dhmech.c+
97	$(SED) -e "/^# CRYPT DELETE START/,/^# CRYPT DELETE END/d"	\
98			< Makefile				\
99	   | $(SED) -e "/EXPORT DELETE/d"				\
100			> Makefile+
101	$(MV) Makefile+ Makefile
102	$(SED) -e "/^# CRYPT DELETE START/,/^# CRYPT DELETE END/d"	\
103			< Makefile.com				\
104	   | $(SED) -e "/EXPORT DELETE/d"				\
105			> Makefile.com+
106	$(MV) Makefile.com+ Makefile.com
107	$(SED) -e "/CRYPT DELETE START/,/CRYPT DELETE END/d" \
108			< mech/dhmech.c > mech/dhmech.c+
109	$(MV) mech/dhmech.c+ mech/dhmech.c
110	$(CHMOD) 444 Makefile Makefile.com mech/dhmech.c
111
112# CRYPT DELETE END
113# EXPORT DELETE END
114
115_msg: $(MSGDOMAIN) $(POFILE)
116	$(RM) $(MSGDOMAIN)/$(POFILE)
117	$(CP) $(POFILE) $(MSGDOMAIN)
118
119$(POFILE): $(DERIVED_FILES) .WAIT $(POFILES)
120	$(RM) $@
121	$(CAT) $(POFILES) > $@
122
123generic.po:
124	$(RM) messages.po
125	$(XGETTEXT) $(XGETFLAGS) `$(GREP) -l gettext mech/*.[ch]`
126	$(SED) "/^domain/d" messages.po > $@
127	$(RM) messages.po
128
129$(MSGDOMAIN):
130	$(INS.dir)
131
132$(MACH) $(MACH64):      FRC
133	@cd $@; pwd; $(MAKE) $(TARGET)
134
135FRC:
136