xref: /illumos-gate/usr/src/lib/libcurses/Makefile.com (revision 2bbdd445a21f9d61f4a0ca0faf05d5ceb2bd91f3)
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 2011 Nexenta Systems, Inc.  All rights reserved.
23# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26
27LIBRARY=	libcurses.a
28VERS=	.1
29
30OBJECTS=	$(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5) $(OBJS6)
31
32OBJS1=	_addch.o _addchnstr.o _addchstr.o _addnstr.o _addstr.o \
33	_attroff.o _attron.o _attrset.o _beep.o _bkgd.o \
34	_bkgdset.o _border.o _box.o _clear.o _clrtobot.o \
35	_clrtoeol.o _crmode.o _del_curterm.o _delch.o _deleteln.o \
36	_echo.o _echochar.o _erase.o _fixterm.o _flash.o \
37	_garbagdlins.o _garbagedwin.o _getch.o _getstr.o \
38	_halfdelay.o _hline.o _inch.o _inchnstr.o _inchstr.o \
39	_innstr.o _insch.o _insdelln.o _insertln.o _insnstr.o \
40	_insstr.o _instr.o _intrflush.o _meta.o _move.o \
41	_mvaddch.o _mvaddchnstr.o _mvaddchstr.o _mvaddnstr.o \
42	_mvaddstr.o _mvdelch.o _mvgetch.o _mvgetstr.o _mvhline.o \
43	_mvinch.o _mvinchnstr.o _mvinchstr.o _mvinnstr.o \
44	_mvinsch.o _mvinsnstr.o _mvinsstr.o _mvinstr.o _mvvline.o \
45	_mvwaddch.o _mvwaddchnst.o _mvwaddchstr.o _mvwaddnstr.o \
46	_mvwaddstr.o _mvwdelch.o _mvwgetch.o _mvwgetstr.o \
47	_mvwhline.o _mvwinch.o _mvwinchnst.o _mvwinchstr.o \
48	_mvwinnstr.o _mvwinsch.o _mvwinsnstr.o _mvwinsstr.o \
49	_mvwinstr.o _mvwvline.o _newterm.o _nl.o _nocrmode.o \
50	_noecho.o _nonl.o _noqiflush.o _overlay.o _overwrite.o \
51	_qiflush.o _refresh.o _resetterm.o _saveterm.o \
52	_scr_init.o _scr_restore.o _scr_set.o _scrl.o _scroll.o \
53	_set_curterm.o _set_term.o _setscrreg.o _slk_init.o \
54	_standend.o _standout.o _subpad.o _timeout.o _touchline.o \
55	_unctrl.o _vline.o _waddchstr.o _waddstr.o _wclear.o \
56	_wdeleteln.o _werase.o _winsertln.o _winsstr.o \
57	_wstandend.o _wstandout.o V2.__sscans.o V2._sprintw.o \
58	V2.makenew.o V3.box.o V3.initscr.o V3.m_addch.o V3.m_addstr.o \
59	V3.m_clear.o V3.m_erase.o V3.m_initscr.o V3.m_move.o V3.m_newterm.o \
60	V3.m_refresh.o V3.newterm.o V3.pechochar.o V3.upd_old_y.o \
61	V3.vidattr.o V3.vidputs.o V3.waddch.o V3.wattroff.o V3.wattron.o \
62	V3.wattrset.o V3.wechochar.o V3.winsch.o baudrate.o can_change.o \
63	color_cont.o cbreak.o chkinput.o clearok.o copywin.o curs_set.o \
64	curserr.o curses.o def_prog.o delay.o delay_out.o \
65	delkey.o delkeymap.o delscreen.o delterm.o delwin.o \
66	derwin.o doupdate.o draino.o dupwin.o endwin.o erasechar.o \
67	flushinp.o getattrs.o getbegyx.o getbkgd.o getmaxyx.o \
68	getparyx.o getsyx.o gettmode.o getwin.o getyx.o has_colors.o \
69	has_ic.o has_il.o idcok.o idlok.o immedok.o init_acs.o init_color.o \
70	init_costs.o init_pair.o initscr.o is_linetou.o is_wintou.o \
71	keyname.o keypad.o killchar.o leaveok.o
72
73OBJS2=	longname.o makenew.o memSset.o meta.o mvcur.o \
74	mvderwin.o mvprintw.o mvscanw.o mvwin.o mvwprintw.o \
75	mvwscanw.o napms.o newkey.o newpad.o newscreen.o \
76	newwin.o nocbreak.o nodelay.o noraw.o \
77	notimeout.o outch.o overlap.o pechochar.o pnoutref.o \
78	prefresh.o printw.o putp.o putwin.o quick_echo.o \
79	raw.o redrawwin.o reset_sh.o resetty.o restart.o \
80	ring.o ripoffline.o savetty.o scanw.o scr_all.o \
81	scr_dump.o scr_ll_dump.o scr_reset.o scrollok.o setcurscreen.o \
82	setcurterm.o setecho.o setkeymap.o setnonl.o setqiflush.o \
83	setsyx.o setterm.o setupterm.o slk_atroff.o slk_atron.o \
84	slk_atrset.o slk_clear.o slk_label.o \
85	slk_noutref.o slk_refresh.o slk_restore.o slk_set.o slk_start.o \
86	slk_touch.o subwin.o syncok.o tcsearch.o termattrs.o \
87	termcap.o termerr.o termname.o tgetch.o tgoto.o \
88	tifget.o tifnames.o tiget.o tinames.o tinputfd.o \
89	tnames.o touchwin.o tparm.o tputs.o trace.o \
90	tstp.o ttimeout.o typeahead.o unctrl.o ungetch.o \
91	untouchwin.o vidputs.o vidupdate.o vwprintw.o \
92	vwscanw.o waddch.o waddchnstr.o waddnstr.o wattroff.o \
93	wattron.o wattrset.o wbkgd.o wbkgdset.o wborder.o \
94	wclrtobot.o wclrtoeol.o wdelch.o wechochar.o wgetch.o \
95	wgetstr.o whline.o winch.o winchnstr.o winchstr.o \
96	winnstr.o winsch.o winsdelln.o winsnstr.o winstr.o \
97	wmove.o wnoutref.o wprintw.o wredrawln.o wrefresh.o \
98	wscanw.o wscrl.o wsetscrreg.o wsyncdown.o wsyncup.o \
99	wtimeout.o wtouchln.o wvline.o pair_cont.o start_col.o \
100	mouse.o
101
102OBJS3=	mbaddch.o mbcharlen.o mbdisplen.o mbgetwidth.o \
103	mbinch.o mbinsshift.o mbmove.o mbtranslate.o \
104	pechowchar.o tgetwch.o ungetwch.o waddnwstr.o \
105	waddwch.o waddwchnstr.o wechowchar.o wgetwstr.o \
106	wgetwch.o winnwstr.o winsnwstr.o winswch.o \
107	winwch.o winwchnstr.o winwstr.o \
108	use_env.o
109
110OBJS4=	_addnwstr.o _addwch.o _addwchnstr.o _addwchstr.o \
111	_addwstr.o _echowchar.o _getnwstr.o _getwch.o \
112	_getwstr.o _innwstr.o _insnwstr.o _inswch.o \
113	_inswstr.o _inwch.o _inwchnstr.o _inwchstr.o \
114	_inwstr.o _mvaddnwstr.o _mvaddwch.o _mvaddwchnstr.o \
115	_mvaddwchstr.o _mvaddwstr.o _mvgetnwstr.o _mvgetwch.o \
116	_mvgetwstr.o _mvinnwstr.o _mvinsnwstr.o _mvinswch.o \
117	_mvinswstr.o _mvinwch.o _mvinwchnstr.o _mvinwchstr.o \
118	_mvinwstr.o _mvwaddnwstr.o _mvwaddwch.o _mvwaddwchnstr.o \
119	_mvwaddwchstr.o _mvwaddwstr.o _mvwgetnwstr.o _mvwgetwch.o \
120	_mvwgetwstr.o _mvwinnwstr.o _mvwinsnwstr.o _mvwinswch.o \
121	_mvwinswstr.o _mvwinwch.o _mvwinwchnstr.o _mvwinwchstr.o \
122	_mvwinwstr.o _waddwchstr.o _waddwstr.o _winswstr.o \
123	_winwchstr.o
124
125OBJS5=	mbstowcs.o mbtowc.o wcstombs.o wctomb.o
126
127OBJS6=	wmovenextch.o wmoveprevch.o wadjcurspos.o print.o iexpand.o \
128	cexpand.o infotocap.o
129
130# include library definitions
131include ../../Makefile.lib
132
133# install this library in the root filesystem
134include ../../Makefile.rootfs
135
136SRCDIR =	../screen
137
138LIBS =		$(DYNLIB) $(LINTLIB)
139
140# definitions for lint
141
142$(LINTLIB):= SRCS=../screen/llib-lcurses
143
144LINTOUT=	lint.out
145LINTSRC=	$(LINTLIB:%.ln=%)
146
147CLEANFILES +=	$(LINTOUT) $(LINTLIB)
148
149CFLAGS	+=	$(CCVERBOSE)
150
151CERRWARN +=	-_gcc=-Wno-char-subscripts
152CERRWARN +=	-_gcc=-Wno-uninitialized
153CERRWARN +=	-_gcc=-Wno-parentheses
154
155LDLIBS += -lc
156
157CPPFLAGS += -I../screen -I../../common/inc
158
159ED = ed
160RM = rm -f
161
162#
163# If and when somebody gets around to messaging this, CLOBBERFILE should not
164# be cleared (so that any .po file will be clobbered.
165#
166CLOBBERFILES=	libcurses.so libcurses.so$(VERS)
167
168all: $(LIBS)
169
170lint: lintcheck
171
172#
173# Install rules for libtermlib.so links.
174# Augments the rule in Makefile.targ
175#
176$(ROOTLIBDIR)/$(LIBLINKS) := INS.liblink= \
177	$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKS)$(VERS) $@; \
178	cd $(ROOTLIBDIR); \
179		$(RM) libtermlib.so libtermlib.so$(VERS); \
180		$(SYMLINK) libcurses.so$(VERS) libtermlib.so$(VERS); \
181		$(SYMLINK) libtermlib.so$(VERS) libtermlib.so;
182
183$(ROOTLIBDIR64)/$(LIBLINKS) := INS.liblink64= \
184	$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKS)$(VERS) $@; \
185	cd $(ROOTLIBDIR64); \
186		$(RM) libtermlib.so libtermlib.so$(VERS);\
187		$(SYMLINK) libcurses.so$(VERS) libtermlib.so$(VERS); \
188		$(SYMLINK) libtermlib.so$(VERS) libtermlib.so;
189
190#
191# Install rules for libtermlib.ln links.
192# Augments a pattern rule in Makefile.targ
193#
194$(ROOTLIBDIR)/$(LINTLIB) := INS.file= \
195	-$(RM) $@; $(INS) -s -m $(FILEMODE) -f $(@D) $(LINTLIB); \
196	cd $(ROOTLIBDIR); \
197		$(RM) llib-ltermlib.ln ; \
198		$(SYMLINK) ./llib-lcurses.ln llib-ltermlib.ln;
199
200$(ROOTLIBDIR64)/$(LINTLIB) := INS.file= \
201	-$(RM) $@; $(INS) -s -m $(FILEMODE) -f $(@D) $(LINTLIB); \
202	cd $(ROOTLIBDIR64); \
203		$(RM) llib-ltermlib.ln ; \
204		$(SYMLINK) ./llib-lcurses.ln llib-ltermlib.ln;
205
206#
207# Install rule for the lint source, which is installed only in
208# the default library dir, not MACH64 etc.
209#
210$(ROOTLINTDIR)/%: ../screen/%
211	$(INS.file)
212	cd $(ROOTLINTDIR); \
213		$(RM) llib-ltermlib ; \
214		$(SYMLINK) ./llib-lcurses llib-ltermlib;
215
216#
217# Include library targets
218#
219include ../../Makefile.targ
220