📄 unix.mak
字号:
endif # SHAREDLIBSTATIC_LIBS := libstdc++.a libg++.a libm.a libc.aSYSLIBDIR := /usr/lib#LDFLAGS += --no-whole-archive --crefendif # linux####################################################ifeq ($(OSTYPE),FreeBSD)P_PTHREADS := 1ifeq ($(MACHTYPE),x86)STDCCFLAGS += -m486endififndef OSRELEASEOSRELEASE := $(shell sysctl -n kern.osreldate)endifSTDCCFLAGS += -DP_FREEBSD=$(OSRELEASE)ifdef P_PTHREADSCFLAGS += -pthreadendifP_USE_RANLIB := 1endif # FreeBSD####################################################ifeq ($(OSTYPE),OpenBSD)P_PTHREADS := 1ifeq ($(MACHTYPE),x86)STDCCFLAGS += -m486endifSTDCCFLAGS += -DP_OPENBSDLDLIBS += -lossaudioifdef P_PTHREADSCFLAGS += -pthreadendifP_USE_RANLIB := 1endif # OpenBSD####################################################ifeq ($(OSTYPE),NetBSD)P_PTHREADS := 1ifeq ($(MACHTYPE),x86)STDCCFLAGS += -m486endifSTDCCFLAGS += -DP_NETBSDLDLIBS += -lossaudioifdef P_PTHREADSSTDCCFLAGS += -I/usr/pkg/pthreads/includeLDFLAGS += -L/usr/pkg/pthreads/libLDLIBS += -lpthreadCC := /usr/pkg/pthreads/bin/pgccCPLUS := /usr/pkg/pthreads/bin/pg++endifP_USE_RANLIB := 1endif # NetBSD####################################################ifeq ($(OSTYPE),AIX)P_PTHREADS := 1STDCCFLAGS += -DP_AIX # -pedantic -g# LDLIBS += -lossaudio#ifdef P_PTHREADSENDLDLIBS += -lpthreadSTDCCFLAGS += -D_REENTRANT #-DP_HAS_SEMAPHORES#endifSTDCCFLAGS += -mminimal-tocifdef P_PTHREADS#CFLAGS += -pthreadendif#P_USE_RANLIB := 1endif # AIX####################################################ifeq ($(OSTYPE),sunos)# Sparc Sun 4x, using gcc 2.7.2P_USE_RANLIB := 1REQUIRES_SEPARATE_SWITCH = 1endif # sunos####################################################ifeq ($(OSTYPE),solaris)# Solaris (Sunos 5.x)P_PTHREADS := 1ifeq ($(MACHTYPE),x86)DEBUG_FLAG := -gstabs+elseENDIAN := PBIG_ENDIANendifOSRELEASE := $(subst 5.,,$(shell uname -r))# Sparc Solaris 2.x, using gcc 2.xCC := gccSTDCCFLAGS += -DP_SOLARIS=$(OSRELEASE)LDLIBS += -lsocket -lnsl -ldl -lposix4LDFLAGS += -R/usr/local/gnu/lib#P_USE_RANLIB := 1STATIC_LIBS := libstdc++.a libg++.a SYSLIBDIR := /usr/local/gnu/libifdef P_PTHREADSENDLDLIBS += -lpthreadSTDCCFLAGS += -D_REENTRANTendifendif # solaris####################################################ifeq ($(OSTYPE),beos)BE_THREADS := 0# BeOS R4, using gcc from Cygnus version 2.9-beos-980929LDLIBS += -lbe -lmedia -lgameifdef BE_THREADSSTDCCFLAGS += -DBE_THREADS -DP_PLATFORM_HAS_THREADSendifSTDCCFLAGS += -Wno-multicharMEMORY_CHECK := 0endif # beos####################################################ifeq ($(OSTYPE),ultrix)ENDIAN := PBIG_ENDIAN# R2000 Ultrix 4.2, using gcc 2.7.xSTDCCFLAGS += -DP_ULTRIXendif # ultrix####################################################ifeq ($(OSTYPE),hpux)# HP/UX 9.x, using gcc 2.6.C3 (Cygnus version)STDCCFLAGS += -DP_HPUX9endif # hpux#################################################### ifeq ($(OSTYPE),macos) # MacOS X or later (derived from FreeBSD) STDCCFLAGS += -DP_MACOSX # pthreads not working in DP3, will revisit this on next release of OS X - krp 03/17/00#P_PTHREADS := 1 # DP3 system file <pthreads.h> has bug in macros "pthread_cleanup_push" and "pthread_cleanup_pop" ifeq ($(MACHTYPE),x86)STDCCFLAGS += -m486elseENDIAN := PBIG_ENDIANendif P_USE_RANLIB := 1CC := ccCPLUS := c++ endif # macos ################################################################################# Make sure some things are defined#ifndef CCCC := gccendififndef CPLUSCPLUS := g++endififndef INSTALLINSTALL := installendififndef ARAR := arendififndef RANLIBRANLIB := ranlibendififndef P_SHAREDLIBP_SHAREDLIB=0endififndef ENDIANENDIAN := PLITTLE_ENDIANendififndef DEBUG_FLAGDEBUG_FLAG := -gendififndef PTLIB_ALTPLATFORM_TYPE = $(OSTYPE)_$(MACHTYPE)elsePLATFORM_TYPE = $(OSTYPE)_$(PTLIB_ALT)_$(MACHTYPE)endififndef OBJ_SUFFIXifdef DEBUGOBJ_SUFFIX := delseOBJ_SUFFIX := rendif # DEBUGendif # OBJ_SUFFIXifeq ($(P_SHAREDLIB),0)LIB_SUFFIX = aelseLIB_SUFFIX = soendififndef LIB_TYPELIB_TYPE =endififndef INSTALL_DIRINSTALL_DIR = /usr/localendififndef INSTALLBIN_DIRINSTALLBIN_DIR = $(INSTALL_DIR)/binendififndef INSTALLLIB_DIRINSTALLLIB_DIR = $(INSTALL_DIR)/libendif####################################################ifeq ($(OSTYPE),Nucleus)# Nucleus using gccSTDCCFLAGS += -msoft-float -nostdinc -gSTDCCFLAGS += -D__NUCLEUS_PLUS__ -D__ppc -DWOT_NO_FILESYSTEM -DPLUS \ -D__HAS_NO_FLOAT -D__USE_STL__ \ -D__USE_STD__ \ -D__NUCLEUS_NET__ -D__NEWLIB__ \ -DP_USE_INLINES=0 \ -DPHAS_TEMPLATESifndef WORKWORK = ${HOME}/workendififndef NUCLEUSDIRNUCLEUSDIR = ${WORK}/embedded/os/Nucleusendififndef STLDIRSTLDIR = ${WORK}/embedded/packages/stl-3.2-streamendifSTDCCFLAGS += -I$(NUCLEUSDIR)/plus \ -I$(NUCLEUSDIR)/plusplus \ -I$(NUCLEUSDIR)/net \ -I$(NUCLEUSDIR) \ -I$(PWLIBDIR)/include/ptlib/Nucleus++ \ -I$(WORK)/embedded/libraries/socketshim/BerkleySockets \ -I${STLDIR} \ -I/usr/local/powerpc-motorola-eabi/include \ -I${WORK}/embedded/libraries/configurationUNIX_SRC_DIR = $(PWLIBDIR)/src/ptlib/Nucleus++ENDIAN = PBIG_ENDIANMEMORY_CHECK = 0endif # Nucleus################################################################################# define some common stuff#SHELL := /bin/sh.SUFFIXES: .cxx .prc # Required macro symbols# DirectoriesUNIX_INC_DIR = $(PWLIBDIR)/include/ptlib/unixifndef UNIX_SRC_DIRUNIX_SRC_DIR = $(PWLIBDIR)/src/ptlib/unixendifPW_LIBDIR = $(PWLIBDIR)/lib# set name of the PT libraryPTLIB_BASE = pt_$(PLATFORM_TYPE)_$(OBJ_SUFFIX)PTLIB_FILE = lib$(PTLIB_BASE)$(LIB_TYPE).$(LIB_SUFFIX)PT_OBJBASE = obj_$(PLATFORM_TYPE)_$(OBJ_SUFFIX)PT_OBJDIR = $(PW_LIBDIR)/$(PT_OBJBASE)# set name of the PW library (may not be used)PWLIB_BASE = pw_$(GUI_TYPE)_$(PLATFORM_TYPE)_$(OBJ_SUFFIX)PWLIB_FILE = lib$(PWLIB_BASE)$(LIB_TYPE).$(LIB_SUFFIX)PW_OBJBASE = obj_$(GUI_TYPE)_$(PLATFORM_TYPE)_$(OBJ_SUFFIX)PW_OBJDIR = $(PW_LIBDIR)/$(PW_OBJBASE)################################################################################# Set up compiler flags and macros for debug/release versions#ifdef DEBUGifndef MEMORY_CHECKMEMORY_CHECK := 1endifSTDCCFLAGS += $(DEBUG_FLAG) -D_DEBUG -DPMEMORY_CHECK=$(MEMORY_CHECK)LDFLAGS += $(DEBLDFLAGS)elseOPTCCFLAGS += -O2 -DNDEBUG#OPTCCFLAGS += -DP_USE_INLINES=1#OPTCCFLAGS += -fconserve-spaceifneq ($(OSTYPE),macos)# Apple does not support -s to remove symbol table/relocation information LDFLAGS += -sendifendif # DEBUG# define OpenSSL variables if installedifdef OPENSSLDIRSTDCCFLAGS += -DP_SSL -I$(OPENSSLDIR)/include -I$(OPENSSLDIR)/cryptoLDFLAGS += -L$(OPENSSLDIR)/libENDLDLIBS += -lssl -lcryptoendif# define Posix threads stuffifdef P_PTHREADSSTDCCFLAGS += -DP_PTHREADSendif# compiler flags for all modesSTDCCFLAGS += -DPBYTE_ORDER=$(ENDIAN) -Wall#STDCCFLAGS += -fomit-frame-pointer#STDCCFLAGS += -fno-default-inline#STDCCFLAGS += -Woverloaded-virtual#STDCCFLAGS += -fno-implement-inlines# add OS directory to include pathSTDCCFLAGS += -I$(UNIX_INC_DIR)# add library directory to library path and include the libraryLDFLAGS += -L$(PW_LIBDIR)LDLIBS += -l$(PTLIB_BASE)$(LIB_TYPE)# End of unix.mak
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -