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, Version 1.0 only
6# (the "License").  You may not use this file except in compliance
7# with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22#
23# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26# ident	"%Z%%M%	%I%	%E% SMI"
27#
28
29LIBRARY=	libcurses.a
30VERS=	.2
31
32# objects are grouped by source directory
33# all of the libxcurses source files are in src/libc
34OBJECTS= $(XCURSES)	$(MKS)	$(WIDE)
35
36# XCURSES source files are in src/libc/xcurses
37XCURSES= \
38add_wch.o	dupwin.o	longname.o	strname.o	wbrdr.o \
39addch.o		echo_wch.o	m_cc.o		termattr.o	wbrdr_st.o \
40addchn.o	echochar.o	meta.o		tgetent.o	wchgat.o \
41addnstr.o	endwin.o	move.o		tgetflag.o	wclear.o \
42addnws.o	flushinp.o	mvcur.o		tgetnum.o	wclrbot.o \
43addwchn.o	get_wch.o	mvwin.o		tgetstr.o	wclreol.o \
44attr_on.o	getcchar.o	napms.o		tgoto.o		wdelch.o \
45attron.o	getch.o		newpad.o	tigetfla.o	wget_wch.o \
46baudrate.o	getn_ws.o	newterm.o	tigetnum.o	wgetch.o \
47beep.o		getnstr.o	newwin.o	tigetstr.o	wgetn_ws.o \
48bkgd.o		getwin.o	noecho.o	timeout.o	whln.o \
49bkgdset.o	has.o		nonl.o		touched.o	whln_st.o \
50bkgrnd.o	hln.o		numcode.o	touchwin.o	win_wch.o \
51bkgrndst.o	hln_st.o	numfnam.o	tparm.o		win_wchn.o \
52boolcode.o	in_wch.o	numname.o	tputs.o		winch.o \
53boolfnam.o	in_wchn.o	overlay.o	winchn.o \
54boolname.o	inch.o		pecho_wc.o	unctrl.o	winnstr.o \
55box.o		inchn.o		pechoch.o	vid_attr.o	winnwstr.o \
56box_set.o	initscr.o	prefresh.o	vid_puts.o	wins_nws.o \
57brdr.o		innstr.o	printw.o	vidattr.o	wins_wch.o \
58brdr_st.o	innwstr.o	ptrmove.o	vw_print.o	winsch.o \
59cbreak.o	ins_nws.o	qiflush.o	vw_scanw.o	winsdel.o \
60chgat.o		ins_wch.o	redraw.o	vwprintw.o	winsnstr.o \
61clear.o		insch.o		refresh.o	vwscanw.o	wmove.o \
62clearok.o	insnstr.o	savetty.o	wacs.o		wredraw.o \
63clrbot.o	intrflsh.o	scanw.o		wadd_wch.o	wrefresh.o \
64clreol.o	scr_dump.o	waddch.o	wscrl.o \
65color.o		isendwin.o	scrl.o		waddchn.o	wscrreg.o \
66copywin.o	key_name.o	scrreg.o	waddnstr.o	wsyncdn.o \
67curs_set.o	keyindex.o	setcchar.o	waddnws.o	wsyncup.o \
68delay.o		keyname.o	setup.o		waddwchn.o	wtimeout.o \
69delch.o		keypad.o	slk.o		wattr_on.o	wtouchln.o \
70deleteln.o	killchar.o	strcode.o	wattron.o	wunctrl.o \
71doupdate.o	killwch.o	strfnam.o	wbkgrnd.o
72
73# MKS source files are in src/libc/mks
74MKS= m_crcpos.o
75
76# WIDE source files are in src/libc/wide
77WIDE= wio_get.o	wio_put.o
78
79# include library definitions
80include ../../Makefile.lib
81
82MAPFILE=	$(MAPDIR)/mapfile
83SRCS=		$(XCURSES:%.o=../src/libc/xcurses/%.c) \
84		$(MKS:%.o=../src/libc/mks/%.c) \
85		$(WIDE:%.o=../src/libc/wide/%.c)
86
87LIBS =		$(DYNLIB) $(LINTLIB)
88
89# definitions for install target
90ROOTLIBDIR=	$(ROOT)/usr/xpg4/lib
91ROOTLIBDIR64=	$(ROOT)/usr/xpg4/lib/$(MACH64)
92ROOTLIBS=	$(LIBS:%=$(ROOTLIBDIR)/%)
93
94$(LINTLIB):= SRCS=../src/libc/llib-lcurses
95
96LINTSRC=	$(LINTLIB:%.ln=%)
97
98DYNFLAGS +=	-M$(MAPFILE)
99LDLIBS += -lc
100
101CPPFLAGS = -I../h -I../src/libc/xcurses $(CPPFLAGS.master)
102
103#
104# If and when somebody gets around to messaging this, CLOBBERFILE should not
105# be cleared (so that any .po file will be clobbered.
106#
107CLOBBERFILES=	libcurses.so libcurses.so$(VERS) $(MAPFILE)
108
109.KEEP_STATE:
110
111all: $(LIBS)
112
113lint: lintcheck
114
115$(DYNLIB): 	$(MAPFILE)
116
117$(MAPFILE):
118	@cd $(MAPDIR); $(MAKE) mapfile
119
120#
121# Include library targets
122#
123include ../../Makefile.targ
124
125objs/%.o pics/%.o:	../src/libc/xcurses/%.c
126	$(COMPILE.c) -o $@ $<
127	$(POST_PROCESS_O)
128
129objs/%.o pics/%.o:	../src/libc/mks/%.c
130	$(COMPILE.c) -o $@ $<
131	$(POST_PROCESS_O)
132
133objs/%.o pics/%.o:	../src/libc/wide/%.c
134	$(COMPILE.c) -o $@ $<
135	$(POST_PROCESS_O)
136
137# install rule for lint library target
138$(ROOTLINTDIR)/%: ../src/libc/%
139	$(INS.file)
140
141# install rule for 64 bit lint library target
142$(ROOTLINTDIR64)/%: ../src/libc/%
143	$(INS.file)
144