📄 makefile.common
字号:
### C++ Portable Types Library (PTypes)# Version 2.0.2 Released 17-May-2004## Copyright (C) 2001-2004 Hovik Melikyan## http://www.melikyan.com/ptypes/#### Makefile for all platforms, called automatically from# Makefile.<platform>#.SUFFIXES: .cxx .oAR = ar cruRANLIB = ranlibDDEBUG = -DDEBUG -gINCDIR = ../includeCXXOPTS = $(OS_CXXOPTS) $(DDEBUG) -I$(INCDIR) -Wall -O2LDLIBS = $(OS_LDLIBS)CXXOPTS_ST = -DPTYPES_ST $(OS_CXXOPTS_ST) $(DDEBUG) -I$(INCDIR) -Wall -O2LDLIBS_ST = $(OS_LDLIBS_ST)LIBNAME = libptypes.aLIBNAME_ST = libptypesn.aLIBDEST = ../libSOBASENAME = libptypesSONAME = $(SOBASENAME).$(SOEXT)SOVER = 20SODEST = ../soLIBOBJS = 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/ppodlist.o mt/pobjlist.o mt/pstrlist.o mt/ptextmap.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/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.oLIBOBJS_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/ppodlist.o st/pobjlist.o st/pstrlist.o st/ptextmap.o \ st/patomic.o st/pvariant.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.oHLEVEL1 = $(INCDIR)/pport.hHLEVEL2 = $(HLEVEL1) $(INCDIR)/ptypes.h $(INCDIR)/pasync.h $(INCDIR)/ptime.hHLEVEL3 = $(HLEVEL2) $(INCDIR)/pstreams.hHLEVEL4 = $(HLEVEL3) $(INCDIR)/pinet.hHALL = $(HLEVEL4)all: mtlib shlib stlib ptypes_test ptypesn_testmtlib: mt $(LIBNAME)shlib: mt $(SOREALNAME)stlib: st $(LIBNAME_ST)## libptypes#$(LIBNAME): $(LIBOBJS) $(AR) $@ $(LIBOBJS) $(RANLIB) $@ mkdir -p $(LIBDEST) ; cp $@ $(LIBDEST)/$(SOREALNAME): $(LIBOBJS) $(LIBTOOL) $(LIBOBJS) $(LDLIBS) $(SOINSTOPT) $(SOINSTNAME) -o $@ rm -f $(SONAME) ; ln -s $@ $(SONAME) mkdir -p $(SODEST) ; cp $@ $(SODEST)/ cd $(SODEST) ; rm -f $(SONAME) ; ln -s $@ $(SONAME) ; $(SOSTRIP) $@$(LIBNAME_ST): $(LIBOBJS_ST) $(AR) $@ $(LIBOBJS_ST) $(RANLIB) $@ mkdir -p $(LIBDEST) ; cp $@ $(LIBDEST)/mt: if [ ! -d mt ] ; then mkdir mt ; fist: if [ ! -d st ] ; then mkdir st ; fi## multithreaded compilation#mt/pversion.o: pversion.cxx $(HLEVEL1) $(CXX) -c $(CXXOPTS) -o $@ pversion.cxxmt/pmem.o: pmem.cxx $(HLEVEL1) $(CXX) -c $(CXXOPTS) -o $@ pmem.cxxmt/pfatal.o: pfatal.cxx $(HLEVEL1) $(CXX) -c $(CXXOPTS) -o $@ pfatal.cxxmt/pstring.o: pstring.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ pstring.cxxmt/pcset.o: pcset.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pcset.cxxmt/pcsetdbg.o: pcsetdbg.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pcsetdbg.cxxmt/pstrmanip.o: pstrmanip.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pstrmanip.cxxmt/pstrutils.o: pstrutils.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pstrutils.cxxmt/pstrconv.o: pstrconv.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pstrconv.cxxmt/pstrtoi.o: pstrtoi.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pstrtoi.cxxmt/pstrcase.o: pstrcase.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pstrcase.cxxmt/ptime.o: ptime.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ ptime.cxxmt/punknown.o: punknown.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ punknown.cxxmt/pcomponent.o: pcomponent.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pcomponent.cxxmt/pexcept.o: pexcept.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pexcept.cxxmt/ppodlist.o: ppodlist.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ ppodlist.cxxmt/pobjlist.o: pobjlist.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pobjlist.cxxmt/pstrlist.o: pstrlist.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pstrlist.cxxmt/ptextmap.o: ptextmap.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ ptextmap.cxxmt/patomic.o: patomic.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ patomic.cxxmt/pasync.o: pasync.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pasync.cxxmt/psemaphore.o: psemaphore.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ psemaphore.cxxmt/pthread.o: pthread.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pthread.cxxmt/pmsgq.o: pmsgq.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pmsgq.cxxmt/ptimedsem.o: ptimedsem.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ ptimedsem.cxxmt/prwlock.o: prwlock.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ prwlock.cxxmt/ptrigger.o: ptrigger.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ ptrigger.cxxmt/pmtxtable.o: pmtxtable.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pmtxtable.cxxmt/pvariant.o: pvariant.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS) -o $@ pvariant.cxxmt/piobase.o: piobase.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ piobase.cxxmt/pinstm.o: pinstm.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ pinstm.cxxmt/pinfile.o: pinfile.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ pinfile.cxxmt/ppipe.o: ppipe.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ ppipe.cxxmt/pintee.o: pintee.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ pintee.cxxmt/pinmem.o: pinmem.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ pinmem.cxxmt/poutmem.o: poutmem.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ poutmem.cxxmt/poutstm.o: poutstm.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ poutstm.cxxmt/poutfile.o: poutfile.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ poutfile.cxxmt/pinfilter.o: pinfilter.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ pinfilter.cxxmt/poutfilter.o: poutfilter.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ poutfilter.cxxmt/pmd5.o: pmd5.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ pmd5.cxxmt/pputf.o: pputf.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ pputf.cxxmt/pstdio.o: pstdio.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ pstdio.cxxmt/pfdxstm.o: pfdxstm.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ pfdxstm.cxxmt/pnpipe.o: pnpipe.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ pnpipe.cxxmt/pnpserver.o: pnpserver.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS) -o $@ pnpserver.cxxmt/pipbase.o: pipbase.cxx $(HLEVEL4) $(CXX) -c $(CXXOPTS) -o $@ pipbase.cxxmt/pipsvbase.o: pipsvbase.cxx $(HLEVEL4) $(CXX) -c $(CXXOPTS) -o $@ pipsvbase.cxxmt/pipstm.o: pipstm.cxx $(HLEVEL4) $(CXX) -c $(CXXOPTS) -o $@ pipstm.cxxmt/pipstmsv.o: pipstmsv.cxx $(HLEVEL4) $(CXX) -c $(CXXOPTS) -o $@ pipstmsv.cxxmt/pipmsg.o: pipmsg.cxx $(HLEVEL4) $(CXX) -c $(CXXOPTS) -o $@ pipmsg.cxxmt/pipmsgsv.o: pipmsgsv.cxx $(HLEVEL4) $(CXX) -c $(CXXOPTS) -o $@ pipmsgsv.cxxmt/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.cxxst/pmem.o: pmem.cxx $(HLEVEL1) $(CXX) -c $(CXXOPTS_ST) -o $@ pmem.cxxst/pfatal.o: pfatal.cxx $(HLEVEL1) $(CXX) -c $(CXXOPTS_ST) -o $@ pfatal.cxxst/pstring.o: pstring.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ pstring.cxxst/pcset.o: pcset.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ pcset.cxxst/pcsetdbg.o: pcsetdbg.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ pcsetdbg.cxxst/pstrmanip.o: pstrmanip.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ pstrmanip.cxxst/pstrutils.o: pstrutils.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ pstrutils.cxxst/pstrconv.o: pstrconv.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ pstrconv.cxxst/pstrtoi.o: pstrtoi.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ pstrtoi.cxxst/pstrcase.o: pstrcase.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ pstrcase.cxxst/ptime.o: ptime.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ ptime.cxxst/punknown.o: punknown.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ punknown.cxxst/pcomponent.o: pcomponent.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ pcomponent.cxxst/pexcept.o: pexcept.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ pexcept.cxxst/ppodlist.o: ppodlist.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ ppodlist.cxxst/pobjlist.o: pobjlist.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ pobjlist.cxxst/pstrlist.o: pstrlist.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ pstrlist.cxxst/ptextmap.o: ptextmap.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ ptextmap.cxxst/patomic.o: patomic.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ patomic.cxxst/pvariant.o: pvariant.cxx $(HLEVEL2) $(CXX) -c $(CXXOPTS_ST) -o $@ pvariant.cxxst/piobase.o: piobase.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ piobase.cxxst/pinstm.o: pinstm.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ pinstm.cxxst/pinfile.o: pinfile.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ pinfile.cxxst/ppipe.o: ppipe.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ ppipe.cxxst/pintee.o: pintee.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ pintee.cxxst/pinmem.o: pinmem.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ pinmem.cxxst/poutmem.o: poutmem.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ poutmem.cxxst/poutstm.o: poutstm.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ poutstm.cxxst/poutfile.o: poutfile.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ poutfile.cxxst/pinfilter.o: pinfilter.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ pinfilter.cxxst/poutfilter.o: poutfilter.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ poutfilter.cxxst/pmd5.o: pmd5.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ pmd5.cxxst/pputf.o: pputf.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ pputf.cxxst/pstdio.o: pstdio.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ pstdio.cxxst/pfdxstm.o: pfdxstm.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ pfdxstm.cxxst/pnpipe.o: pnpipe.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ pnpipe.cxxst/pnpserver.o: pnpserver.cxx $(HLEVEL3) $(CXX) -c $(CXXOPTS_ST) -o $@ pnpserver.cxxst/pipbase.o: pipbase.cxx $(HLEVEL4) $(CXX) -c $(CXXOPTS_ST) -o $@ pipbase.cxxst/pipsvbase.o: pipsvbase.cxx $(HLEVEL4) $(CXX) -c $(CXXOPTS_ST) -o $@ pipsvbase.cxxst/pipstm.o: pipstm.cxx $(HLEVEL4) $(CXX) -c $(CXXOPTS_ST) -o $@ pipstm.cxxst/pipstmsv.o: pipstmsv.cxx $(HLEVEL4) $(CXX) -c $(CXXOPTS_ST) -o $@ pipstmsv.cxxst/pipmsg.o: pipmsg.cxx $(HLEVEL4) $(CXX) -c $(CXXOPTS_ST) -o $@ pipmsg.cxxst/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.cxxptypes_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.cxxptypesn_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 -rf mt st rm -f $(LIBNAME) $(LIBNAME_ST) $(SONAME) $(SOREALNAME) rm -f core *.core core.* rm -f ptypes_test ptypesn_test ptypes_test.exe ptypesn_test.exe rm -f stmtest.txt## install#install: $(LIBNAME) $(SOREALNAME) ${LIBNAME_ST} @echo ; echo "##### Installing header files in ${PREFIX}/include/ptypes" mkdir -p ${PREFIX}/include/ptypes install -m 444 ${INCDIR}/*.h ${PREFIX}/include/ptypes @echo ; echo "##### Installing libraries (libptypes*) in ${PREFIX}/lib" mkdir -p ${PREFIX}/lib install -m 444 $(LIBDEST)/$(LIBNAME) $(LIBDEST)/$(LIBNAME_ST) ${PREFIX}/lib install -m 444 $(SODEST)/$(SOREALNAME) ${PREFIX}/lib cd ${PREFIX}/lib ; rm -f ${SONAME} ; ln -s ${SOREALNAME} ${SONAME} @echo ; echo "##### Installing documentation in ${PREFIX}/share/doc/ptypes/doc" mkdir -p ${PREFIX}/share/doc/ptypes/doc cd .. ; install -m 444 LICENSE index.html ${PREFIX}/share/doc/ptypes cd ../doc ; tar cf - * | tar xf - -C ${PREFIX}/share/doc/ptypes/docuninstall: rm -rf ${PREFIX}/include/ptypes cd ${PREFIX}/lib ; rm -f $(LIBNAME) $(LIBNAME_ST) $(SONAME) $(SOREALNAME) rm -rf ${PREFIX}/share/doc/ptypes
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -