Makefile revision 1276
824N/A###############################################################################
824N/A#
824N/A# libdps Makefile
824N/A#
1193N/A# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
824N/A#
824N/A# Permission is hereby granted, free of charge, to any person obtaining a
919N/A# copy of this software and associated documentation files (the "Software"),
919N/A# to deal in the Software without restriction, including without limitation
919N/A# the rights to use, copy, modify, merge, publish, distribute, sublicense,
919N/A# and/or sell copies of the Software, and to permit persons to whom the
919N/A# Software is furnished to do so, subject to the following conditions:
919N/A#
919N/A# The above copyright notice and this permission notice (including the next
919N/A# paragraph) shall be included in all copies or substantial portions of the
919N/A# Software.
919N/A#
919N/A# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
919N/A# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
919N/A# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
919N/A# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
919N/A# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
919N/A# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
919N/A# DEALINGS IN THE SOFTWARE.
824N/A#
824N/A#
824N/A
824N/A REQUIREDLIBS = -lX11 -lsocket -lnsl -lc
824N/A
824N/A# The Client Library uses definitions just like Xlib for network
824N/A# capabilities, such as TCPCONN, UNIXCONN, and DNETCONN. See
824N/A# csconndi.c and csopendi.c
824N/A
824N/A# The connection code should be rewritten to use xtrans. The STREAMSCONN
824N/A# code here needs work. For now force ConnectionFlags to be
824N/A# -DTCPCONN -DUNIXCONN
824N/A
824N/A CC = cc
824N/A DEFINES = -DXDPS -DCSDPS -DTCPCONN -DUNIXCONN -DSVR4
824N/A DPSCPPFLAGS = $(DEFINES) -I ../include
824N/A DPSCFLAGS = -Kpic
833N/A SHLIBLDFLAGS = -G -z defs $(LDFLAGS) -R $(libdir)
824N/A CAT = cat
824N/A SED = sed
824N/A AWK = awk
824N/A SORT = sort
824N/A PSWRAP = ../pswrap/pswrap
824N/A
824N/ACOMMONOBJECTFILES = \
824N/A dpsclient.o\
824N/A dpsprintf.o\
824N/A dpsexcept.o\
824N/A dpsdict.o\
824N/A dpsabbrev.o
824N/A
824N/ACOMMONSOURCEFILES = \
824N/A dpsclient.c\
824N/A dpsprintf.c\
824N/A dpsexcept.c\
824N/A dpsdict.c\
824N/A dpsabbrev.c
824N/A
824N/AXOBJECTFILES = \
824N/A dpsXclient.o\
824N/A dpssysnames.o\
824N/A dpsXpriv.o\
824N/A XDPS.o\
824N/A dpsXcmu.o
824N/A
824N/A# dpsXtdisp.o\ - wasn't included in Solaris libdps for some reason
824N/A
824N/AXSOURCEFILES = \
824N/A dpsXclient.c\
824N/A dpssysnames.c\
824N/A dpsXpriv.c\
824N/A XDPS.c\
824N/A dpsXcmu.c
824N/A
824N/A# dpsXtdisp.c\ - wasn't included in Solaris libdps for some reason
824N/A
824N/AXCSDPSOBJECTFILES = \
824N/A cslibext.o\
824N/A csopendi.o\
824N/A csconndi.o\
824N/A csstartNX.o\
824N/A csfindNX.o\
824N/A cslibint.o
824N/A
824N/AXCSDPSSOURCEFILES = \
824N/A cslibext.c\
824N/A csopendi.c\
824N/A csconndi.c\
824N/A csstartNX.c\
824N/A csfindNX.c\
824N/A cslibint.c
824N/A
824N/ADPSOPSOBJECTS = \
824N/A dpsclrops.o\
824N/A dpsctrlops.o\
824N/A dpsctxtops.o\
824N/A dpsdataops.o\
824N/A dpsfontops.o\
824N/A dpsgsttops.o\
824N/A dpsioops.o\
824N/A dpsmathops.o\
824N/A dpsmtrxops.o\
824N/A dpsmiscops.o\
824N/A dpspntops.o\
824N/A dpspathops.o\
824N/A dpssysops.o\
824N/A dpswinops.o\
824N/A dpsopstack.o\
824N/A dpsXops.o\
824N/A dpsl2ops.o
824N/A
824N/APSOPSOBJECTS = \
824N/A psclrops.o\
824N/A psctrlops.o\
824N/A psctxtops.o\
824N/A psdataops.o\
824N/A psfontops.o\
824N/A psgsttops.o\
824N/A psioops.o\
824N/A psmathops.o\
824N/A psmtrxops.o\
824N/A psmiscops.o\
824N/A pspntops.o\
824N/A pspathops.o\
824N/A pssysops.o\
824N/A pswinops.o\
824N/A psopstack.o\
824N/A psXops.o\
824N/A psl2ops.o
824N/A
824N/ADPSOPSHEADERFILES = \
824N/A dpsclrops.h\
824N/A dpsctrlops.h\
824N/A dpsctxtops.h\
824N/A dpsdataops.h\
824N/A dpsfontops.h\
824N/A dpsgsttops.h\
824N/A dpsioops.h\
824N/A dpsmathops.h\
824N/A dpsmtrxops.h\
824N/A dpsmiscops.h\
824N/A dpsopstack.h\
824N/A dpspntops.h\
824N/A dpspathops.h\
824N/A dpssysops.h\
824N/A dpswinops.h\
824N/A dpsXops.h\
824N/A dpsl2ops.h
824N/A
824N/APSOPSHEADERFILES = \
824N/A psclrops.h\
824N/A psctrlops.h\
824N/A psctxtops.h\
824N/A psdataops.h\
824N/A psfontops.h\
824N/A psgsttops.h\
824N/A psioops.h\
824N/A psmathops.h\
824N/A psmtrxops.h\
824N/A psmiscops.h\
824N/A pspntops.h\
824N/A pspathops.h\
824N/A pssysops.h\
824N/A pswinops.h\
824N/A psopstack.h\
824N/A psXops.h\
824N/A psl2ops.h
824N/A
824N/ADPSOPSCFILES = \
824N/A dpsclrops.c\
824N/A dpsctrlops.c\
824N/A dpsctxtops.c\
824N/A dpsdataops.c\
824N/A dpsfontops.c\
824N/A dpsgsttops.c\
824N/A dpsioops.c\
824N/A dpsmathops.c\
824N/A dpsmtrxops.c\
824N/A dpsmiscops.c\
824N/A dpsopstack.c\
824N/A dpspntops.c\
824N/A dpspathops.c\
824N/A dpssysops.c\
824N/A dpswinops.c\
824N/A dpsXops.c\
824N/A dpsl2ops.c
824N/A
824N/APSOPSCFILES = \
824N/A psclrops.c\
824N/A psctrlops.c\
824N/A psctxtops.c\
824N/A psdataops.c\
824N/A psfontops.c\
824N/A psgsttops.c\
824N/A psioops.c\
824N/A psmathops.c\
824N/A psmtrxops.c\
824N/A psmiscops.c\
824N/A pspntops.c\
824N/A pspathops.c\
824N/A pssysops.c\
824N/A pswinops.c\
824N/A psopstack.c\
824N/A psXops.c\
824N/A psl2ops.c
824N/A
824N/AHEADERS = psops.h dpsops.h
824N/A
824N/Aall:: $(HEADERS)
824N/A
824N/Aincludes:: $(DPSOPSCFILES) $(PSOPSCFILES) $(HEADERS)
824N/A
1193N/A# Causes unnecessary rebuilds after set-elf-comments touches pswrap
1193N/A# $(DPSOPSCFILES) $(PSOPSCFILES): $(PSWRAP)
824N/A
824N/ASRCS = \
824N/A ${COMMONSOURCEFILES} \
824N/A ${XSOURCEFILES} \
824N/A ${XCSDPSSOURCEFILES} \
824N/A ${DPSOPSCFILES} \
824N/A ${PSOPSCFILES}
824N/A
824N/AOBJS = \
824N/A ${COMMONOBJECTFILES} \
824N/A ${XOBJECTFILES} \
824N/A ${XCSDPSOBJECTFILES} \
824N/A ${DPSOPSOBJECTS} \
824N/A ${PSOPSOBJECTS}
824N/A
824N/ADERIVED_FILES = $(DPSOPSHEADERFILES) $(PSOPSHEADERFILES) \
824N/A $(DPSOPSCFILES) $(PSOPSCFILES)
824N/A
824N/A# Inspired by automake 1.11 silent rules - hides details by default
824N/A# Run make V=1 to show details
824N/ADEFAULT_V = 0
824N/AV_CC = $(V_CC_$(V))
824N/AV_CC_ = $(V_CC_$(DEFAULT_V))
824N/AV_CC_0 = @echo " CC " $@;
824N/AV_PSWRAP = $(V_PSWRAP_$(V))
824N/AV_PSWRAP_ = $(V_PSWRAP_$(DEFAULT_V))
824N/AV_PSWRAP_0 = @echo " PSWRAP" $@;
824N/AV_GEN = $(V_GEN_$(V))
824N/AV_GEN_ = $(V_GEN_$(DEFAULT_V))
824N/AV_GEN_0 = @echo " GEN " $@;
824N/A
824N/A.SUFFIXES: .psw
824N/A
824N/A.psw.c :
1193N/A $(V_PSWRAP)$(PSWRAP) -a -o $*.c $<
824N/A
824N/A.psw.h :
824N/A $(V_PSWRAP)$(PSWRAP) -a -h $*.h $< > /dev/null
824N/A
824N/A.c.o:
824N/A $(V_CC)$(CC) $(DPSCFLAGS) $(CFLAGS) $(DPSCPPFLAGS) $(CPPFLAGS) -c $(OUTPUT_OPTION) $<
824N/A
824N/Aincludes :: $(HEADERS)
824N/Adepend :: $(DPSOPSCFILES) $(PSOPSCFILES)
824N/A
824N/Apsops.h : $(PSOPSHEADERFILES)
824N/A $(V_GEN) ${RM} $@ ; \
824N/A ${CAT} $(PSOPSHEADERFILES) |\
824N/A ${SED} -e '/^$$/D' -e '/#/D' -e '/^\//D'\
824N/A -e '/^ gener/D' -e '/^.\//D' |\
824N/A ${SORT} > .sort ; \
824N/A ${AWK} '/;/ {print; printf("\n");}' .sort > .ttt ; \
824N/A ${CAT} psname.txt header.txt psifdef.txt .ttt psendif.txt > psops.h ; \
824N/A ${RM} .sort .ttt .attt
824N/A
824N/Adpsops.h : psops.h $(DPSOPSHEADERFILES)
824N/A $(V_GEN) ${RM} $@ ; \
824N/A ${CAT} $(DPSOPSHEADERFILES) |\
824N/A ${SED} -e '/^$$/D' -e '/#/D' -e '/^\//D'\
824N/A -e '/^ gener/D' -e '/^.\//D' |\
824N/A ${SORT} > .sort ; \
824N/A ${AWK} '/;/ {print; printf("\n");}' .sort > .ttt ; \
824N/A ${CAT} dpsname.txt header.txt dpsifdef.txt .ttt dpsendif.txt > dpsops.h ; \
824N/A ${RM} .sort .ttt .attt
824N/A
824N/Aall:: ../include/DPS/psops.h ../include/DPS/dpsops.h
827N/A$(OBJS): $(HEADERS) ../include/DPS/psops.h ../include/DPS/dpsops.h
824N/A
824N/A../include/DPS/psops.h: psops.h
824N/A -${RM} $@
824N/A ln -s ../../libdps/psops.h $@
824N/A
824N/A../include/DPS/dpsops.h: dpsops.h
824N/A -${RM} $@
824N/A ln -s ../../libdps/dpsops.h $@
824N/A
824N/Aall:: $(OBJS) libdps.so.5 libdps.so
824N/A
824N/AMAPFILE = mapfile
824N/A
824N/Alibdps.so.5: $(OBJS) $(EXTRASHAREDOBJS) $(MAPFILE)
833N/A $(V_CC)$(CC) $(CDEBUGFLAGS) -o $@ -h $@ $(SHLIBLDFLAGS) -M $(MAPFILE) $(OBJS) $(EXTRASHAREDOBJS) $(REQUIREDLIBS)
824N/A
824N/Alibdps.so: libdps.so.5
824N/A -${RM} libdps.so
824N/A ln -s libdps.so.5 libdps.so
824N/A
824N/Ainstall: all
824N/A $(INSTALL) libdps.so.5 $(DESTDIR)$(libdir)/libdps.so.5
824N/A
824N/Aclean ::
1193N/A ${RM} $(DERIVED_FILES) .sort .ttt .att psops.h dpsops.h *% *.o