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