📄 makefile.common
字号:
#
#
# C++ Portable Types Library (PTypes)
# Version 1.8.3 Released 25-Aug-2003
#
# Copyright (c) 2001, 2002, 2003 Hovik Melikyan
#
# http://www.melikyan.com/ptypes/
# http://ptypes.sourceforge.net/
#
#
#
# Makefile for all platforms, called automatically from
# Makefile.<platform>
#
.SUFFIXES: .cxx .o
AR = ar
RANLIB = ranlib
DDEBUG = -DDEBUG
INCDIR = ../include
CXXOPTS = $(OS_CXXOPTS) $(DDEBUG) -I$(INCDIR) -fPIC -Wall -O2
LDLIBS = $(OS_LDLIBS)
CXXOPTS_ST = -DPTYPES_ST $(OS_CXXOPTS_ST) $(DDEBUG) -I$(INCDIR) -Wall -O2
LDLIBS_ST = $(OS_LDLIBS_ST)
LIBNAME = libptypes.a
LIBNAME_ST = libptypesn.a
LIBDEST = ../lib
SONAME = libptypes.$(SOEXT)
SOVER = 1
SOREALNAME = $(SONAME).$(SOVER)
SODEST = ../so
LIBOBJS = mt/pversion.o mt/pmem.o mt/pfatal.o mt/pstring.o mt/pcset.o mt/pcsetdbg.o \
mt/pstrmanip.o mt/pstrutils.o mt/pstrconv.o mt/pstrtoi.o mt/pstrcase.o mt/ptime.o \
mt/punknown.o mt/pcomponent.o mt/pexcept.o mt/pobjlist.o mt/pstrlist.o \
mt/patomic.o mt/pasync.o mt/psemaphore.o mt/pthread.o mt/pmsgq.o mt/ptimedsem.o \
mt/prwlock.o mt/ptrigger.o mt/pmtxtable.o mt/pvariant.o mt/pvarray.o \
mt/piobase.o mt/pinstm.o mt/pinfile.o mt/ppipe.o mt/pinmem.o mt/poutmem.o \
mt/pintee.o mt/poutstm.o mt/poutfile.o mt/pinfilter.o mt/poutfilter.o mt/pmd5.o \
mt/pputf.o mt/pstdio.o mt/pfdxstm.o mt/pnpipe.o mt/pnpserver.o \
mt/pipbase.o mt/pipsvbase.o mt/pipstm.o mt/pipstmsv.o mt/pipmsg.o mt/pipmsgsv.o \
mt/punit.o
LIBOBJS_ST = st/pversion.o st/pmem.o st/pfatal.o st/pstring.o st/pcset.o st/pcsetdbg.o \
st/pstrmanip.o st/pstrutils.o st/pstrconv.o st/pstrtoi.o st/pstrcase.o st/ptime.o \
st/punknown.o st/pcomponent.o st/pexcept.o st/pobjlist.o st/pstrlist.o \
st/patomic.o st/pvariant.o st/pvarray.o \
st/piobase.o st/pinstm.o st/pinfile.o st/ppipe.o st/pinmem.o st/poutmem.o \
st/pintee.o st/poutstm.o st/poutfile.o st/pinfilter.o st/poutfilter.o st/pmd5.o \
st/pputf.o st/pstdio.o st/pfdxstm.o st/pnpipe.o st/pnpserver.o \
st/pipbase.o st/pipsvbase.o st/pipstm.o st/pipstmsv.o st/pipmsg.o st/pipmsgsv.o
HLEVEL1 = $(INCDIR)/pport.h
HLEVEL2 = $(HLEVEL1) $(INCDIR)/ptypes.h $(INCDIR)/pasync.h $(INCDIR)/ptime.h
HLEVEL3 = $(HLEVEL2) $(INCDIR)/pstreams.h
HLEVEL4 = $(HLEVEL3) $(INCDIR)/pinet.h
HALL = $(HLEVEL4)
all: $(LIBNAME) $(SOREALNAME) ${LIBNAME_ST} ptypes_test ptypesn_test
#
# libptypes
#
$(LIBNAME): $(LIBOBJS)
$(AR) cru $@ $(LIBOBJS)
$(RANLIB) $@
cp $@ $(LIBDEST)/
$(SOREALNAME): $(LIBOBJS)
$(LIBTOOL) $(LIBOBJS) $(LDLIBS) -o $@
rm -f $(SONAME) ; ln -s $@ $(SONAME)
cp $@ $(SODEST)/
cd $(SODEST) ; rm -f $(SONAME) ; ln -s $@ $(SONAME) ; $(SOSTRIP) $@
$(LIBNAME_ST): $(LIBOBJS_ST)
$(AR) cru $@ $(LIBOBJS_ST)
$(RANLIB) $@
cp $@ $(LIBDEST)/
#
# multithreaded compilation
#
mt/pversion.o: pversion.cxx $(HLEVEL1)
$(CXX) -c $(CXXOPTS) -o $@ pversion.cxx
mt/pmem.o: pmem.cxx $(HLEVEL1)
$(CXX) -c $(CXXOPTS) -o $@ pmem.cxx
mt/pfatal.o: pfatal.cxx $(HLEVEL1)
$(CXX) -c $(CXXOPTS) -o $@ pfatal.cxx
mt/pstring.o: pstring.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ pstring.cxx
mt/pcset.o: pcset.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pcset.cxx
mt/pcsetdbg.o: pcsetdbg.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pcsetdbg.cxx
mt/pstrmanip.o: pstrmanip.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pstrmanip.cxx
mt/pstrutils.o: pstrutils.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pstrutils.cxx
mt/pstrconv.o: pstrconv.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pstrconv.cxx
mt/pstrtoi.o: pstrtoi.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pstrtoi.cxx
mt/pstrcase.o: pstrcase.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pstrcase.cxx
mt/ptime.o: ptime.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ ptime.cxx
mt/punknown.o: punknown.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ punknown.cxx
mt/pcomponent.o: pcomponent.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pcomponent.cxx
mt/pexcept.o: pexcept.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pexcept.cxx
mt/pobjlist.o: pobjlist.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pobjlist.cxx
mt/pstrlist.o: pstrlist.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pstrlist.cxx
mt/patomic.o: patomic.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ patomic.cxx
mt/pasync.o: pasync.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pasync.cxx
mt/psemaphore.o: psemaphore.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ psemaphore.cxx
mt/pthread.o: pthread.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pthread.cxx
mt/pmsgq.o: pmsgq.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pmsgq.cxx
mt/ptimedsem.o: ptimedsem.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ ptimedsem.cxx
mt/prwlock.o: prwlock.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ prwlock.cxx
mt/ptrigger.o: ptrigger.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ ptrigger.cxx
mt/pmtxtable.o: pmtxtable.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pmtxtable.cxx
mt/pvariant.o: pvariant.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pvariant.cxx
mt/pvarray.o: pvarray.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS) -o $@ pvarray.cxx
mt/piobase.o: piobase.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ piobase.cxx
mt/pinstm.o: pinstm.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ pinstm.cxx
mt/pinfile.o: pinfile.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ pinfile.cxx
mt/ppipe.o: ppipe.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ ppipe.cxx
mt/pintee.o: pintee.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ pintee.cxx
mt/pinmem.o: pinmem.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ pinmem.cxx
mt/poutmem.o: poutmem.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ poutmem.cxx
mt/poutstm.o: poutstm.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ poutstm.cxx
mt/poutfile.o: poutfile.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ poutfile.cxx
mt/pinfilter.o: pinfilter.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ pinfilter.cxx
mt/poutfilter.o: poutfilter.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ poutfilter.cxx
mt/pmd5.o: pmd5.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ pmd5.cxx
mt/pputf.o: pputf.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ pputf.cxx
mt/pstdio.o: pstdio.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ pstdio.cxx
mt/pfdxstm.o: pfdxstm.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ pfdxstm.cxx
mt/pnpipe.o: pnpipe.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ pnpipe.cxx
mt/pnpserver.o: pnpserver.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ pnpserver.cxx
mt/pipbase.o: pipbase.cxx $(HLEVEL4)
$(CXX) -c $(CXXOPTS) -o $@ pipbase.cxx
mt/pipsvbase.o: pipsvbase.cxx $(HLEVEL4)
$(CXX) -c $(CXXOPTS) -o $@ pipsvbase.cxx
mt/pipstm.o: pipstm.cxx $(HLEVEL4)
$(CXX) -c $(CXXOPTS) -o $@ pipstm.cxx
mt/pipstmsv.o: pipstmsv.cxx $(HLEVEL4)
$(CXX) -c $(CXXOPTS) -o $@ pipstmsv.cxx
mt/pipmsg.o: pipmsg.cxx $(HLEVEL4)
$(CXX) -c $(CXXOPTS) -o $@ pipmsg.cxx
mt/pipmsgsv.o: pipmsgsv.cxx $(HLEVEL4)
$(CXX) -c $(CXXOPTS) -o $@ pipmsgsv.cxx
mt/punit.o: punit.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS) -o $@ punit.cxx
#
# single-threaded compilation
#
st/pversion.o: pversion.cxx $(HLEVEL1)
$(CXX) -c $(CXXOPTS_ST) -o $@ pversion.cxx
st/pmem.o: pmem.cxx $(HLEVEL1)
$(CXX) -c $(CXXOPTS_ST) -o $@ pmem.cxx
st/pfatal.o: pfatal.cxx $(HLEVEL1)
$(CXX) -c $(CXXOPTS_ST) -o $@ pfatal.cxx
st/pstring.o: pstring.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ pstring.cxx
st/pcset.o: pcset.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ pcset.cxx
st/pcsetdbg.o: pcsetdbg.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ pcsetdbg.cxx
st/pstrmanip.o: pstrmanip.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ pstrmanip.cxx
st/pstrutils.o: pstrutils.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ pstrutils.cxx
st/pstrconv.o: pstrconv.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ pstrconv.cxx
st/pstrtoi.o: pstrtoi.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ pstrtoi.cxx
st/pstrcase.o: pstrcase.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ pstrcase.cxx
st/ptime.o: ptime.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ ptime.cxx
st/punknown.o: punknown.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ punknown.cxx
st/pcomponent.o: pcomponent.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ pcomponent.cxx
st/pexcept.o: pexcept.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ pexcept.cxx
st/pobjlist.o: pobjlist.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ pobjlist.cxx
st/pstrlist.o: pstrlist.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ pstrlist.cxx
st/patomic.o: patomic.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ patomic.cxx
st/pvariant.o: pvariant.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ pvariant.cxx
st/pvarray.o: pvarray.cxx $(HLEVEL2)
$(CXX) -c $(CXXOPTS_ST) -o $@ pvarray.cxx
st/piobase.o: piobase.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ piobase.cxx
st/pinstm.o: pinstm.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ pinstm.cxx
st/pinfile.o: pinfile.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ pinfile.cxx
st/ppipe.o: ppipe.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ ppipe.cxx
st/pintee.o: pintee.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ pintee.cxx
st/pinmem.o: pinmem.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ pinmem.cxx
st/poutmem.o: poutmem.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ poutmem.cxx
st/poutstm.o: poutstm.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ poutstm.cxx
st/poutfile.o: poutfile.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ poutfile.cxx
st/pinfilter.o: pinfilter.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ pinfilter.cxx
st/poutfilter.o: poutfilter.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ poutfilter.cxx
st/pmd5.o: pmd5.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ pmd5.cxx
st/pputf.o: pputf.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ pputf.cxx
st/pstdio.o: pstdio.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ pstdio.cxx
st/pfdxstm.o: pfdxstm.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ pfdxstm.cxx
st/pnpipe.o: pnpipe.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ pnpipe.cxx
st/pnpserver.o: pnpserver.cxx $(HLEVEL3)
$(CXX) -c $(CXXOPTS_ST) -o $@ pnpserver.cxx
st/pipbase.o: pipbase.cxx $(HLEVEL4)
$(CXX) -c $(CXXOPTS_ST) -o $@ pipbase.cxx
st/pipsvbase.o: pipsvbase.cxx $(HLEVEL4)
$(CXX) -c $(CXXOPTS_ST) -o $@ pipsvbase.cxx
st/pipstm.o: pipstm.cxx $(HLEVEL4)
$(CXX) -c $(CXXOPTS_ST) -o $@ pipstm.cxx
st/pipstmsv.o: pipstmsv.cxx $(HLEVEL4)
$(CXX) -c $(CXXOPTS_ST) -o $@ pipstmsv.cxx
st/pipmsg.o: pipmsg.cxx $(HLEVEL4)
$(CXX) -c $(CXXOPTS_ST) -o $@ pipmsg.cxx
st/pipmsgsv.o: pipmsgsv.cxx $(HLEVEL4)
$(CXX) -c $(CXXOPTS_ST) -o $@ pipmsgsv.cxx
#
# libptypes test program
#
mt/ptypes_test.o: ptypes_test.cxx $(HALL)
$(CXX) -c $(CXXOPTS) -o $@ ptypes_test.cxx
ptypes_test: mt/ptypes_test.o $(LIBNAME)
$(CXX) $(CXXOPTS) mt/ptypes_test.o -L./ libptypes.a $(LDLIBS) -o $@
st/ptypes_test.o: ptypes_test.cxx $(HALL)
$(CXX) -c $(CXXOPTS_ST) -o $@ ptypes_test.cxx
ptypesn_test: st/ptypes_test.o $(LIBNAME)
$(CXX) $(CXXOPTS_ST) st/ptypes_test.o -L./ libptypesn.a $(LDLIBS_ST) -o $@
#
# clean
#
clean: clean-src
rm -f $(LIBDEST)/$(LIBNAME) $(LIBDEST)/$(LIBNAME_ST)
rm -f $(SODEST)/$(SONAME) $(SODEST)/$(SOREALNAME)
clean-src:
rm -f mt/*.o st/*.o
rm -f $(LIBNAME) $(LIBNAME_ST) $(SONAME) $(SOREALNAME)
rm -f core *.core core.*
rm -f ptypes_test ptypesn_test ptypes_test.exe
rm -f stmtest.txt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -