Makefile revision 863
0N/A###############################################################################
0N/A#
0N/A# libdps Makefile
0N/A#
0N/A# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
0N/A# Use is subject to license terms.
0N/A#
0N/A# Permission is hereby granted, free of charge, to any person obtaining a
0N/A# copy of this software and associated documentation files (the
0N/A# "Software"), to deal in the Software without restriction, including
0N/A# without limitation the rights to use, copy, modify, merge, publish,
0N/A# distribute, and/or sell copies of the Software, and to permit persons
0N/A# to whom the Software is furnished to do so, provided that the above
405N/A# copyright notice(s) and this permission notice appear in all copies of
0N/A# the Software and that both the above copyright notice(s) and this
0N/A# permission notice appear in supporting documentation.
0N/A#
0N/A# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
0N/A# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
0N/A# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
928N/A# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
0N/A# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
0N/A# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
0N/A# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
376N/A# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
0N/A# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1327N/A#
1327N/A# Except as contained in this notice, the name of a copyright holder
1327N/A# shall not be used in advertising or otherwise to promote the sale, use
1327N/A# or other dealings in this Software without prior written authorization
1327N/A# of the copyright holder.
1327N/A#
234N/A#ident "@(#)Makefile 1.3 09/11/19 SMI"
0N/A#
1318N/A
1318N/A REQUIREDLIBS = -lX11 -lsocket -lnsl -lc
428N/A
1327N/A# The Client Library uses definitions just like Xlib for network
1327N/A# capabilities, such as TCPCONN, UNIXCONN, and DNETCONN. See
0N/A# csconndi.c and csopendi.c
350N/A
0N/A# The connection code should be rewritten to use xtrans. The STREAMSCONN
1318N/A# code here needs work. For now force ConnectionFlags to be
0N/A# -DTCPCONN -DUNIXCONN
0N/A
816N/A CC = cc
928N/A DEFINES = -DXDPS -DCSDPS -DTCPCONN -DUNIXCONN -DSVR4
928N/A DPSCPPFLAGS = $(DEFINES) -I ../include
928N/A DPSCFLAGS = -Kpic
986N/A SHLIBLDFLAGS = -G -z defs $(LDFLAGS) -R $(libdir)
350N/A CAT = cat
1185N/A SED = sed
0N/A AWK = awk
1385N/A SORT = sort
234N/A PSWRAP = ../pswrap/pswrap
125N/A
615N/ACOMMONOBJECTFILES = \
0N/A dpsclient.o\
0N/A dpsprintf.o\
0N/A dpsexcept.o\
1195N/A dpsdict.o\
1419N/A dpsabbrev.o
0N/A
0N/ACOMMONSOURCEFILES = \
0N/A dpsclient.c\
0N/A dpsprintf.c\
0N/A dpsexcept.c\
816N/A dpsdict.c\
928N/A dpsabbrev.c
1318N/A
0N/AXOBJECTFILES = \
0N/A dpsXclient.o\
1327N/A dpssysnames.o\
615N/A dpsXpriv.o\
615N/A XDPS.o\
615N/A dpsXcmu.o
947N/A
947N/A# dpsXtdisp.o\ - wasn't included in Solaris libdps for some reason
947N/A
947N/AXSOURCEFILES = \
1318N/A dpsXclient.c\
947N/A dpssysnames.c\
0N/A dpsXpriv.c\
0N/A XDPS.c\
0N/A dpsXcmu.c
0N/A
1190N/A# dpsXtdisp.c\ - wasn't included in Solaris libdps for some reason
0N/A
0N/AXCSDPSOBJECTFILES = \
0N/A cslibext.o\
0N/A csopendi.o\
1190N/A csconndi.o\
0N/A csstartNX.o\
0N/A csfindNX.o\
0N/A cslibint.o
0N/A
1190N/AXCSDPSSOURCEFILES = \
0N/A cslibext.c\
0N/A csopendi.c\
0N/A csconndi.c\
0N/A csstartNX.c\
1190N/A csfindNX.c\
0N/A cslibint.c
0N/A
0N/ADPSOPSOBJECTS = \
0N/A dpsclrops.o\
234N/A dpsctrlops.o\
0N/A dpsctxtops.o\
0N/A dpsdataops.o\
0N/A dpsfontops.o\
0N/A dpsgsttops.o\
986N/A dpsioops.o\
0N/A dpsmathops.o\
0N/A dpsmtrxops.o\
816N/A dpsmiscops.o\
816N/A dpspntops.o\
816N/A dpspathops.o\
456N/A dpssysops.o\
234N/A dpswinops.o\
234N/A dpsopstack.o\
1238N/A dpsXops.o\
816N/A dpsl2ops.o
816N/A
816N/APSOPSOBJECTS = \
816N/A psclrops.o\
1190N/A psctrlops.o\
1185N/A psctxtops.o\
1185N/A psdataops.o\
1318N/A psfontops.o\
1185N/A psgsttops.o\
816N/A psioops.o\
0N/A psmathops.o\
0N/A psmtrxops.o\
0N/A psmiscops.o\
0N/A pspntops.o\
816N/A pspathops.o\
234N/A pssysops.o\
236N/A pswinops.o\
985N/A psopstack.o\
986N/A psXops.o\
986N/A psl2ops.o
986N/A
986N/ADPSOPSHEADERFILES = \
985N/A dpsclrops.h\
986N/A dpsctrlops.h\
986N/A dpsctxtops.h\
986N/A dpsdataops.h\
986N/A dpsfontops.h\
986N/A dpsgsttops.h\
986N/A dpsioops.h\
986N/A dpsmathops.h\
985N/A dpsmtrxops.h\
985N/A dpsmiscops.h\
236N/A dpsopstack.h\
538N/A dpspntops.h\
986N/A dpspathops.h\
986N/A dpssysops.h\
986N/A dpswinops.h\
986N/A dpsXops.h\
538N/A dpsl2ops.h
236N/A
986N/APSOPSHEADERFILES = \
236N/A psclrops.h\
236N/A psctrlops.h\
816N/A psctxtops.h\
816N/A psdataops.h\
816N/A psfontops.h\
816N/A psgsttops.h\
1190N/A psioops.h\
816N/A psmathops.h\
816N/A psmtrxops.h\
816N/A psmiscops.h\
928N/A pspntops.h\
1318N/A pspathops.h\
928N/A pssysops.h\
816N/A pswinops.h\
816N/A psopstack.h\
1318N/A psXops.h\
928N/A psl2ops.h
816N/A
1190N/ADPSOPSCFILES = \
816N/A dpsclrops.c\
816N/A dpsctrlops.c\
816N/A dpsctxtops.c\
816N/A dpsdataops.c\
816N/A dpsfontops.c\
235N/A dpsgsttops.c\
235N/A dpsioops.c\
816N/A dpsmathops.c\
816N/A dpsmtrxops.c\
816N/A dpsmiscops.c\
816N/A dpsopstack.c\
816N/A dpspntops.c\
816N/A dpspathops.c\
816N/A dpssysops.c\
1318N/A dpswinops.c\
1318N/A dpsXops.c\
816N/A dpsl2ops.c
816N/A
816N/APSOPSCFILES = \
928N/A psclrops.c\
1318N/A psctrlops.c\
816N/A psctxtops.c\
1318N/A psdataops.c\
816N/A psfontops.c\
1318N/A psgsttops.c\
1318N/A psioops.c\
1318N/A psmathops.c\
1318N/A psmtrxops.c\
928N/A psmiscops.c\
816N/A pspntops.c\
816N/A pspathops.c\
1318N/A pssysops.c\
928N/A pswinops.c\
816N/A psopstack.c\
816N/A psXops.c\
816N/A psl2ops.c
816N/A
816N/AHEADERS = psops.h dpsops.h
816N/A
816N/Aall:: $(HEADERS)
816N/A
816N/Aincludes:: $(DPSOPSCFILES) $(PSOPSCFILES) $(HEADERS)
816N/A
235N/A$(DPSOPSCFILES) $(PSOPSCFILES): $(PSWRAP)
235N/A
0N/ASRCS = \
494N/A ${COMMONSOURCEFILES} \
0N/A ${XSOURCEFILES} \
0N/A ${XCSDPSSOURCEFILES} \
0N/A ${DPSOPSCFILES} \
816N/A ${PSOPSCFILES}
0N/A
830N/AOBJS = \
0N/A ${COMMONOBJECTFILES} \
0N/A ${XOBJECTFILES} \
235N/A ${XCSDPSOBJECTFILES} \
235N/A ${DPSOPSOBJECTS} \
816N/A ${PSOPSOBJECTS}
986N/A
986N/ADERIVED_FILES = $(DPSOPSHEADERFILES) $(PSOPSHEADERFILES) \
986N/A $(DPSOPSCFILES) $(PSOPSCFILES)
986N/A
986N/A# Inspired by automake 1.11 silent rules - hides details by default
986N/A# Run make V=1 to show details
234N/ADEFAULT_V = 0
1190N/AV_CC = $(V_CC_$(V))
234N/AV_CC_ = $(V_CC_$(DEFAULT_V))
234N/AV_CC_0 = @echo " CC " $@;
234N/AV_PSWRAP = $(V_PSWRAP_$(V))
830N/AV_PSWRAP_ = $(V_PSWRAP_$(DEFAULT_V))
830N/AV_PSWRAP_0 = @echo " PSWRAP" $@;
1185N/AV_GEN = $(V_GEN_$(V))
234N/AV_GEN_ = $(V_GEN_$(DEFAULT_V))
234N/AV_GEN_0 = @echo " GEN " $@;
816N/A
0N/A.SUFFIXES: .psw
0N/A
986N/A.psw.c :
1327N/A $(V_PSWRAP)$(PSWRAP) -a -o $*.c -h $*.h $<
1327N/A
0N/A.psw.h :
986N/A $(V_PSWRAP)$(PSWRAP) -a -h $*.h $< > /dev/null
816N/A
0N/A.c.o:
816N/A $(V_CC)$(CC) $(DPSCFLAGS) $(CFLAGS) $(DPSCPPFLAGS) $(CPPFLAGS) -c $(OUTPUT_OPTION) $<
0N/A
986N/Aincludes :: $(HEADERS)
4N/Adepend :: $(DPSOPSCFILES) $(PSOPSCFILES)
0N/A
4N/Apsops.h : $(PSOPSHEADERFILES)
986N/A $(V_GEN) ${RM} $@ ; \
0N/A ${CAT} $(PSOPSHEADERFILES) |\
1327N/A ${SED} -e '/^$$/D' -e '/#/D' -e '/^\//D'\
1327N/A -e '/^ gener/D' -e '/^.\//D' |\
1327N/A ${SORT} > .sort ; \
0N/A ${AWK} '/;/ {print; printf("\n");}' .sort > .ttt ; \
1190N/A ${CAT} psname.txt header.txt psifdef.txt .ttt psendif.txt > psops.h ; \
0N/A ${RM} .sort .ttt .attt
0N/A
0N/Adpsops.h : psops.h $(DPSOPSHEADERFILES)
4N/A $(V_GEN) ${RM} $@ ; \
0N/A ${CAT} $(DPSOPSHEADERFILES) |\
4N/A ${SED} -e '/^$$/D' -e '/#/D' -e '/^\//D'\
0N/A -e '/^ gener/D' -e '/^.\//D' |\
1327N/A ${SORT} > .sort ; \
1327N/A ${AWK} '/;/ {print; printf("\n");}' .sort > .ttt ; \
1327N/A ${CAT} dpsname.txt header.txt dpsifdef.txt .ttt dpsendif.txt > dpsops.h ; \
0N/A ${RM} .sort .ttt .attt
0N/A
1318N/Aall:: ../include/DPS/psops.h ../include/DPS/dpsops.h
1318N/A$(OBJS): $(HEADERS) ../include/DPS/psops.h ../include/DPS/dpsops.h
0N/A
816N/A../include/DPS/psops.h: psops.h
816N/A -${RM} $@
816N/A ln -s ../../libdps/psops.h $@
816N/A
816N/A../include/DPS/dpsops.h: dpsops.h
816N/A -${RM} $@
816N/A ln -s ../../libdps/dpsops.h $@
816N/A
816N/Aall:: $(OBJS) libdps.so.5 libdps.so
816N/A
816N/AMAPFILE = mapfile
816N/A
816N/Alibdps.so.5: $(OBJS) $(EXTRASHAREDOBJS) $(MAPFILE)
1185N/A $(V_CC)$(CC) $(CDEBUGFLAGS) -o $@ -h $@ $(SHLIBLDFLAGS) -M $(MAPFILE) $(OBJS) $(EXTRASHAREDOBJS) $(REQUIREDLIBS)
1185N/A
1185N/Alibdps.so: libdps.so.5
1185N/A -${RM} libdps.so
816N/A ln -s libdps.so.5 libdps.so
816N/A
816N/Ainstall: all
816N/A $(INSTALL) libdps.so.5 $(DESTDIR)$(libdir)/libdps.so.5
1185N/A
816N/Aclean ::
928N/A ${RM} $(DERIVED_FILES) .sort .ttt .att psops.h dpsops.h *%
816N/A