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 2008 Sun Microsystems, Inc. All rights reserved. 23# Use is subject to license terms. 24# 25# ident "%Z%%M% %I% %E% SMI" 26# 27# cmd/vi/port/Makefile 28 29PROG= ex 30XPG4PROG= ex 31XPG6PROG= ex 32LIBPROGS= expreserve exrecover 33XD4= exobjs.xpg4 34XD6= exobjs.xpg6 35 36EXOBJS= bcopy.o ex.o ex_addr.o ex_cmds.o ex_cmds2.o \ 37 ex_cmdsub.o ex_data.o ex_extern.o ex_get.o \ 38 ex_io.o ex_put.o ex_re.o ex_set.o ex_subr.o \ 39 ex_temp.o ex_tty.o ex_unix.o ex_v.o ex_vadj.o \ 40 ex_vget.o ex_vmain.o ex_voper.o ex_vops.o \ 41 ex_vops2.o ex_vops3.o ex_vput.o ex_vwind.o \ 42 printf.o 43EXOBJS_XPG4= $(EXOBJS) compile.o values-xpg4.o 44EXOBJS_XPG6= $(EXOBJS) compile.o values-xpg6.o 45XPG4EXOBJS= ${EXOBJS_XPG4:%=$(XD4)/%} 46XPG6EXOBJS= ${EXOBJS_XPG6:%=$(XD6)/%} 47EXRECOVEROBJS= exrecover.o ex_extern.o 48OBJS= $(EXOBJS) $(XPG4EXOBJS) $(XPG6EXOBJS) expreserve.o exrecover.o 49SRCS= $(EXOBJS:%.o=%.c) expreserve.c exrecover.c 50TXTS = READ_ME makeoptions asfix.c70 ex.news port.mk.370 port.mk.70 \ 51 port.mk.c70 port.mk.usg ovdoprnt.s ovprintf.c rofix 52 53include ../../Makefile.cmd 54# 55# For message catalogue files 56# 57POFILES= $(EXOBJS:%.o=%.po) expreserve.po exrecover.po 58POFILE= port.po 59 60# Include all XPG4 and XPG4ONLY changes in the XPG4 version 61$(XPG4) := CFLAGS += -DXPG4 -DXPG4ONLY 62 63# Include all XPG4 changes, but don't include XPG4ONLY in the XPG6 version 64$(XPG6) := CFLAGS += -DXPG4 -DXPG6 -I$(SRC)/lib/libc/inc 65 66CPPFLAGS += -DUSG -DSTDIO -DVMUNIX -DTABS=8 -DSINGLE -DTAG_STACK 67 68# vi maintains its own versions of various routines from libc and libcurses, 69# so localize all symbols to avoid name space collisions. 70LDFLAGS += $(MAPFILE.NGB:%=-M%) 71 72CLOBBERFILES += $(LIBPROGS) 73ex := LDLIBS += -lmapmalloc -lcurses -lgen -lcrypt_i 74$(XPG4) := LDLIBS += -lmapmalloc -lcurses -lgen -lcrypt_i 75$(XPG6) := LDLIBS += -lmapmalloc -lcurses -lgen -lcrypt_i 76exrecover := LDLIBS += -lmapmalloc -lcrypt_i 77lint := LDLIBS += -lmapmalloc -lcurses -lgen -lcrypt 78 79ROOTLIBPROGS= $(LIBPROGS:%=$(ROOTLIB)/%) 80 81# hard links to ex 82ROOTLINKS= $(ROOTBIN)/vi $(ROOTBIN)/view $(ROOTBIN)/edit $(ROOTBIN)/vedit 83ROOTXPG4LINKS= $(ROOTXPG4BIN)/vi $(ROOTXPG4BIN)/view $(ROOTXPG4BIN)/edit \ 84 $(ROOTXPG4BIN)/vedit 85ROOTXPG6LINKS= $(ROOTXPG6BIN)/vi $(ROOTXPG6BIN)/view $(ROOTXPG6BIN)/edit \ 86 $(ROOTXPG6BIN)/vedit 87.KEEP_STATE: 88 89.PARALLEL: $(OBJS) 90 91all: $(PROG) $(XPG4) $(XPG6) $(LIBPROGS) 92 93$(PROG): $(EXOBJS) 94 $(LINK.c) $(EXOBJS) -o $@ $(LDLIBS) 95 $(POST_PROCESS) 96 97ex.xpg4: $(XD4) $(XPG4EXOBJS) 98 $(LINK.c) $(XPG4EXOBJS) -o $@ $(LDLIBS) 99 $(POST_PROCESS) 100 101ex.xpg6: $(XD6) $(XPG6EXOBJS) 102 $(LINK.c) $(XPG6EXOBJS) -o $@ $(LDLIBS) 103 $(POST_PROCESS) 104 105$(XD4)/compile.o $(XD6)/compile.o: ../../expr/compile.c 106 $(COMPILE.c) -o $@ ../../expr/compile.c 107 108%values-xpg4.o: ../../../lib/common/common/values-xpg4.c 109 $(COMPILE.c) -o $@ ../../../lib/common/common/values-xpg4.c 110 111%values-xpg6.o: ../../../lib/common/common/values-xpg6.c 112 $(COMPILE.c) -o $@ ../../../lib/common/common/values-xpg6.c 113 114$(XPG4EXOBJS): $(XD4) 115 116$(XPG6EXOBJS): $(XD6) 117 118$(XD4)/%.o: %.c 119 $(COMPILE.c) -o $@ $< 120 121$(XD6)/%.o: %.c 122 $(COMPILE.c) -o $@ $< 123 124$(XD4): 125 -@mkdir -p $@ 126 127$(XD6): 128 -@mkdir -p $@ 129 130exrecover: $(EXRECOVEROBJS) 131 $(LINK.c) $(EXRECOVEROBJS) -o $@ $(LDLIBS) 132 $(POST_PROCESS) 133 134catalog: $(MSGDOMAIN) $(POFILE) 135 136$(POFILE): $(POFILES) 137 $(RM) $@ 138 cat $(POFILES) > $@ 139 140 141install: all $(ROOTPROG) $(ROOTLIBPROGS) $(ROOTLINKS) \ 142 $(ROOTXPG4PROG) $(ROOTXPG4LINKS) $(ROOTXPG6PROG) $(ROOTXPG6LINKS) 143 144$(ROOTLINKS): $(ROOTPROG) 145 -$(RM) $@ 146 -$(LN) -f $(ROOTPROG) $@ 147 148$(ROOTXPG4LINKS): $(ROOTXPG4PROG) 149 -$(RM) $@ 150 -$(LN) -f $(ROOTXPG4PROG) $@ 151 152$(ROOTXPG6LINKS): $(ROOTXPG6PROG) 153 -$(RM) $@ 154 -$(LN) -f $(ROOTXPG6PROG) $@ 155 156clean: 157 $(RM) $(OBJS) 158 159lint: lint_SRCS 160 161include ../../Makefile.targ 162