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 2006 Sun Microsystems, Inc.  All rights reserved.
  23 # Use is subject to license terms.
  24 #
  25 # Copyright (c) 2018, Joyent, Inc.
  26 
  27 LIBRARY=        libcurses.a
  28 VERS=   .1
  29 
  30 # objects are grouped by source directory
  31 # all of the libxcurses source files are in src/libc
  32 OBJECTS= \
  33 $(XCURSES)      $(GEN)          $(I18N)         $(MKS) \
  34 $(STDIO)        $(WIDE)
  35 
  36 # XCURSES source files are in src/libc/xcurses
  37 XCURSES= \
  38 add_wch.o       dupwin.o        longname.o      strname.o       wbrdr.o \
  39 addch.o         echo_wch.o      m_cc.o          termattr.o      wbrdr_st.o \
  40 addchn.o        echochar.o      meta.o          tgetent.o       wchgat.o \
  41 addnstr.o       endwin.o        move.o          tgetflag.o      wclear.o \
  42 addnws.o        flushinp.o      mvcur.o         tgetnum.o       wclrbot.o \
  43 addwchn.o       get_wch.o       mvwin.o         tgetstr.o       wclreol.o \
  44 attr_on.o       getcchar.o      napms.o         tgoto.o         wdelch.o \
  45 attron.o        getch.o         newpad.o        tigetfla.o      wget_wch.o \
  46 baudrate.o      getn_ws.o       newterm.o       tigetnum.o      wgetch.o \
  47 beep.o          getnstr.o       newwin.o        tigetstr.o      wgetn_ws.o \
  48 bkgd.o          getwin.o        noecho.o        timeout.o       whln.o \
  49 bkgdset.o       has.o           nonl.o          touched.o       whln_st.o \
  50 bkgrnd.o        hln.o           numcode.o       touchwin.o      win_wch.o \
  51 bkgrndst.o      hln_st.o        numfnam.o       tparm.o         win_wchn.o \
  52 boolcode.o      in_wch.o        numname.o       tputs.o         winch.o \
  53 boolfnam.o      in_wchn.o       overlay.o       trace.o         winchn.o \
  54 boolname.o      inch.o          pecho_wc.o      unctrl.o        winnstr.o \
  55 box.o           inchn.o         pechoch.o       vid_attr.o      winnwstr.o \
  56 box_set.o       initscr.o       prefresh.o      vid_puts.o      wins_nws.o \
  57 brdr.o          innstr.o        printw.o        vidattr.o       wins_wch.o \
  58 brdr_st.o       innwstr.o       ptrmove.o       vw_print.o      winsch.o \
  59 cbreak.o        ins_nws.o       qiflush.o       vw_scanw.o      winsdel.o \
  60 chgat.o         ins_wch.o       redraw.o        vwprintw.o      winsnstr.o \
  61 clear.o         insch.o         refresh.o       vwscanw.o       wmove.o \
  62 clearok.o       insnstr.o       savetty.o       wacs.o          wredraw.o \
  63 clrbot.o        intrflsh.o      scanw.o         wadd_wch.o      wrefresh.o \
  64 clreol.o                        scr_dump.o      waddch.o        wscrl.o \
  65 color.o         isendwin.o      scrl.o          waddchn.o       wscrreg.o \
  66 copywin.o       key_name.o      scrreg.o        waddnstr.o      wsyncdn.o \
  67 curs_set.o      keyindex.o      setcchar.o      waddnws.o       wsyncup.o \
  68 delay.o         keyname.o       setup.o         waddwchn.o      wtimeout.o \
  69 delch.o         keypad.o        slk.o           wattr_on.o      wtouchln.o \
  70 deleteln.o      killchar.o      strcode.o       wattron.o       wunctrl.o \
  71 doupdate.o      killwch.o       strfnam.o       wbkgrnd.o
  72 
  73 # GEN source files are in src/libc/gen
  74 GEN= \
  75 base.o          eprintf.o
  76 
  77 # I18N source files are in src/libc/i18n
  78 I18N= \
  79 m_strmsg.o      m_text.o
  80 
  81 # MKS source files are in src/libc/mks
  82 MKS= \
  83 m_cmdnam.o      m_errorx.o      m_ord.o         m_strdup.o \
  84 m_crcpos.o      m_getenv.o      m_pathca.o      m_vsscan.o \
  85 m_error.o       m_malloc.o      m_pathma.o
  86 
  87 # STDIO source files are in src/libc/stdio
  88 STDIO= \
  89 vfscanf.o
  90 
  91 # WIDE source files are in src/libc/wide
  92 WIDE= \
  93 m_mbstow.o      m_wcsdup.o      wio_get.o       wio_put.o
  94 
  95 # include library definitions
  96 include ../../Makefile.lib
  97 
  98 SRCDIR =        ../src
  99 
 100 SRCS=           $(XCURSES:%.o=../src/libc/xcurses/%.c) \
 101                 $(GEN:%.o=../src/libc/gen/%.c) \
 102                 $(I18N:%.o=../src/libc/i18n/%.c) \
 103                 $(MKS:%.o=../src/libc/mks/%.c) \
 104                 $(STDIO:%.o=../src/libc/stdio/%.c) \
 105                 $(WIDE:%.o=../src/libc/wide/%.c)
 106 
 107 LIBS =          $(DYNLIB)
 108 
 109 # definitions for install target
 110 ROOTLIBDIR=     $(ROOT)/usr/xpg4/lib
 111 ROOTLIBDIR64=   $(ROOT)/usr/xpg4/lib/$(MACH64)
 112 ROOTLIBS=       $(LIBS:%=$(ROOTLIBDIR)/%)
 113 
 114 $(LINTLIB):= SRCS=../src/libc/llib-lcurses
 115 $(LINTLIB):= CPPFLAGS += -D_XOPEN_SOURCE_EXTENDED
 116 
 117 CERRWARN +=     -_gcc=-Wno-uninitialized
 118 CERRWARN +=     -_gcc=-Wno-unused-variable
 119 CERRWARN +=     -_gcc=-Wno-unused-label
 120 CERRWARN +=     -_gcc=-Wno-unused-function
 121 
 122 # not linted
 123 SMATCH=off
 124 
 125 LINTSRC=        $(LINTLIB:%.ln=%)
 126 
 127 LDLIBS += -lc
 128 
 129 CPPFLAGS = -I../h -I../h/solaris2 -I../src/libc/xcurses $(CPPFLAGS.master)
 130 
 131 #
 132 # If and when somebody gets around to messaging this, CLOBBERFILE should not
 133 # be cleared (so that any .po file will be clobbered.
 134 #
 135 CLOBBERFILES=   libcurses.so libcurses.so$(VERS)
 136 
 137 .KEEP_STATE:
 138 
 139 all: $(LIBS)
 140 
 141 lint: lintcheck
 142 
 143 #
 144 # Include library targets
 145 #
 146 include ../../Makefile.targ
 147 
 148 objs/%.o pics/%.o:      ../src/libc/xcurses/%.c
 149         $(COMPILE.c) -o $@ $<
 150         $(POST_PROCESS_O)
 151 
 152 objs/%.o pics/%.o:      ../src/libc/gen/%.c
 153         $(COMPILE.c) -o $@ $<
 154         $(POST_PROCESS_O)
 155 
 156 objs/%.o pics/%.o:      ../src/libc/i18n/%.c
 157         $(COMPILE.c) -o $@ $<
 158         $(POST_PROCESS_O)
 159 
 160 objs/%.o pics/%.o:      ../src/libc/mks/%.c
 161         $(COMPILE.c) -o $@ $<
 162         $(POST_PROCESS_O)
 163 
 164 objs/%.o pics/%.o:      ../src/libc/narrow/%.c
 165         $(COMPILE.c) -o $@ $<
 166         $(POST_PROCESS_O)
 167 
 168 objs/%.o pics/%.o:      ../src/libc/stdio/%.c
 169         $(COMPILE.c) -o $@ $<
 170         $(POST_PROCESS_O)
 171 
 172 objs/%.o pics/%.o:      ../src/libc/wide/%.c
 173         $(COMPILE.c) -o $@ $<
 174         $(POST_PROCESS_O)