Makefile revision 67e3a03ed4a2813074d36330f062ed6e593a4937
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maeder#
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# CDDL HEADER START
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder#
97018cf5fa25b494adffd7e9b4e87320dae6bf47Christian Maeder# The contents of this file are subject to the terms of the
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# Common Development and Distribution License (the "License").
b4fbc96e05117839ca409f5f20f97b3ac872d1edTill Mossakowski# You may not use this file except in compliance with the License.
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder#
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# or http://www.opensolaris.org/os/licensing.
f3a94a197960e548ecd6520bb768cb0d547457bbChristian Maeder# See the License for the specific language governing permissions
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maeder# and limitations under the License.
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder#
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# When distributing Covered Code, include this CDDL HEADER in each
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# If applicable, add the following below this CDDL HEADER, with the
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# fields enclosed by brackets "[]" replaced with your own identifying
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# information: Portions Copyright [yyyy] [name of copyright owner]
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder#
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# CDDL HEADER END
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder#
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder#
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
11280087fb7891a39bae5305886e76c0cc30886cChristian Maeder# Use is subject to license terms.
11280087fb7891a39bae5305886e76c0cc30886cChristian Maeder#
11280087fb7891a39bae5305886e76c0cc30886cChristian Maeder# ident "%Z%%M% %I% %E% SMI"
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder#
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederPROG= ed
c64d33a7fbeae730cbe65193fe3cc24e7aa1ddd6Christian MaederXPG4PROG= ed
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian MaederXPG6PROG= ed
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederEDOBJ= ed.o compile.o
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederXPG4EDOBJ= edobjs.xpg4/ed.o edobjs.xpg4/compile.o values-xpg4.o
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederXPG6EDOBJ= edobjs.xpg6/ed.o edobjs.xpg6/compile.o values-xpg6.o
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederOBJS= $(EDOBJ) $(XPG4EDOBJ) $(XPG6EDOBJ)
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederSRCS= ./ed.c ../expr/compile.c
ab6ab8ca8832538f343b2f493cdef7ab6ba4bea8Christian Maeder
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian MaederPOFILES= $(EDOBJ:%.o=%.po)
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maeder
b53688bfed888214b485cf76439d57262d80e0a7Christian Maederinclude ../Makefile.cmd
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maeder
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian MaederCFLAGS += $(CCVERBOSE)
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maeder$(XPG4) := CFLAGS += -DXPG4
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder$(XPG6) := CFLAGS += -DXPG6 -I$(SRC)/lib/libc/inc
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maederlint := LDLIBS += -lgen -lcrypt
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian MaederLDLIBS += -lmapmalloc -lgen -lcrypt_i
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian MaederXGETFLAGS += -a -x ed.xcl
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian Maeder
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian MaederMAPFILE.INT = ../expr/mapfile-intf
e953bea49e7f0e1a43bccf2a66c5e2a2b50848e0Christian MaederLDFLAGS += $(MAPFILE.INT:%=-M%)
e953bea49e7f0e1a43bccf2a66c5e2a2b50848e0Christian Maeder
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederPOFILE= ed_cmd.po
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maeder%.po: ../expr/%.c
8869b0b47d4ebc275098d1777301b652648b3c45Christian Maeder $(COMPILE.cpp) $< > $*.c.i
ab6ab8ca8832538f343b2f493cdef7ab6ba4bea8Christian Maeder $(XGETTEXT) $(XGETFLAGS) $*.c.i
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maeder $(MV) messages.po $@
ab6ab8ca8832538f343b2f493cdef7ab6ba4bea8Christian Maeder
ab6ab8ca8832538f343b2f493cdef7ab6ba4bea8Christian Maeder.KEEP_STATE:
ab6ab8ca8832538f343b2f493cdef7ab6ba4bea8Christian Maeder
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maederall: $(PROG) $(XPG4) $(XPG6)
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder
8869b0b47d4ebc275098d1777301b652648b3c45Christian Maeder$(PROG): $(EDOBJ) $(MAPFILE.INT)
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder $(LINK.c) $(EDOBJ) -o $@ $(LDLIBS)
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maeder $(POST_PROCESS)
73dfcef93ee2ba07fedf4f3c74bace31853d1b9fChristian Maeder
73dfcef93ee2ba07fedf4f3c74bace31853d1b9fChristian Maeder$(XPG4): edobjs.xpg4 $(XPG4EDOBJ) $(MAPFILE.INT)
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maeder $(LINK.c) $(XPG4EDOBJ) -o $@ $(LDLIBS)
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maeder $(POST_PROCESS)
8869b0b47d4ebc275098d1777301b652648b3c45Christian Maeder
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maeder$(XPG6): edobjs.xpg6 $(XPG6EDOBJ) $(MAPFILE.INT)
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maeder $(LINK.c) $(XPG6EDOBJ) -o $@ $(LDLIBS)
8869b0b47d4ebc275098d1777301b652648b3c45Christian Maeder $(POST_PROCESS)
8869b0b47d4ebc275098d1777301b652648b3c45Christian Maeder
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maedercompile.o: ../expr/compile.c
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maeder $(COMPILE.c) -o $@ ../expr/compile.c
38c817b94e0a5b1ae94178b1075c187e07bcc5e1Christian Maeder
8869b0b47d4ebc275098d1777301b652648b3c45Christian Maederedobjs.xpg4/%.o: %.c
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder $(COMPILE.c) -o $@ $<
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder
b53688bfed888214b485cf76439d57262d80e0a7Christian Maederedobjs.xpg4/%.o: ../expr/compile.c
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder $(COMPILE.c) -o $@ $<
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maederedobjs.xpg6/%.o: %.c
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder $(COMPILE.c) -o $@ $<
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maederedobjs.xpg6/%.o: ../expr/compile.c
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder $(COMPILE.c) -o $@ $<
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maederedobjs.xpg4:
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder -@mkdir -p $@
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maederedobjs.xpg6:
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder -@mkdir -p $@
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder$(POFILE): $(POFILES)
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder $(RM) $@
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder cat $(POFILES) > $@
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maederinstall: all $(ROOTPROG) $(ROOTXPG4PROG) $(ROOTXPG6PROG)
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maeder $(RM) $(ROOTBIN)/red
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maeder $(LN) $(ROOTBIN)/ed $(ROOTBIN)/red
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maeder
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maedervalues-xpg4.o: ../../lib/common/common/values-xpg4.c
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maeder $(COMPILE.c) -o $@ ../../lib/common/common/values-xpg4.c
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maeder
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maedervalues-xpg6.o: ../../lib/common/common/values-xpg6.c
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maeder $(COMPILE.c) -o $@ ../../lib/common/common/values-xpg6.c
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maeder
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maederclean:
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maeder -@rm -rf $(OBJS) $(XPG4) $(XPG6) edobjs.xpg4 edobjs.xpg6 \
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maeder compile.c.i
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maederlint: lint_PROG
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maeder
7968d3a131e5a684ec1ff0c6d88aae638549153dChristian Maederinclude ../Makefile.targ
333780eae2be9f20fe46dedbf5eb46ffa0cbfd02Christian Maeder