⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile.in

📁 Netscape NSPR库源码
💻 IN
字号:
# # The contents of this file are subject to the Mozilla Public# License Version 1.1 (the "License"); you may not use this file# except in compliance with the License. You may obtain a copy of# the License at http://www.mozilla.org/MPL/# # Software distributed under the License is distributed on an "AS# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or# implied. See the License for the specific language governing# rights and limitations under the License.# # The Original Code is the Netscape Portable Runtime (NSPR).# # The Initial Developer of the Original Code is Netscape# Communications Corporation.  Portions created by Netscape are # Copyright (C) 1998-2000 Netscape Communications Corporation.  All# Rights Reserved.# # Contributor(s):# # Alternatively, the contents of this file may be used under the# terms of the GNU General Public License Version 2 or later (the# "GPL"), in which case the provisions of the GPL are applicable # instead of those above.  If you wish to allow use of your # version of this file only under the terms of the GPL and not to# allow others to use your version of this file under the MPL,# indicate your decision by deleting the provisions above and# replace them with the notice and other provisions required by# the GPL.  If you do not delete the provisions above, a recipient# may use your version of this file under either the MPL or the# GPL.# #! gmakeMOD_DEPTH	= ../..topsrcdir	= @top_srcdir@srcdir		= @srcdir@VPATH		= @srcdir@include $(MOD_DEPTH)/config/autoconf.mkinclude $(topsrcdir)/config/config.mkDIRS = dllCSRCS =             \	accept.c		\	acceptread.c	\	acceptreademu.c	\	addrstr.c		\	affinity.c		\	alarm.c			\	anonfm.c		\	append.c		\	atomic.c		\	attach.c		\	bigfile.c		\	bigfile2.c		\	bigfile3.c		\	cleanup.c		\	cltsrv.c		\	concur.c	    \	cvar.c			\	cvar2.c			\	dceemu.c		\	dlltest.c		\	dtoa.c			\	env.c			\	errcodes.c		\	errset.c		\	exit.c  		\	fdcach.c		\	fileio.c		\	foreign.c	    \	forktest.c	    \	fsync.c	        \	gethost.c		\	getproto.c		\	i2l.c		    \	initclk.c		\	inrval.c		\	instrumt.c      \	intrio.c        \	intrupt.c       \	io_timeout.c    \	ioconthr.c      \	ipv6.c          \	join.c    		\	joinkk.c        \	joinku.c        \	joinuk.c        \	joinuu.c        \	layer.c		    \	lazyinit.c		\	lltest.c        \	lock.c          \	lockfile.c      \	logger.c		\	makedir.c		\	mbcs.c			\	multiacc.c		\	multiwait.c		\	many_cv.c		\	nameshm1.c      \	nbconn.c		\	nblayer.c		\	nonblock.c		\	ntioto.c        \	ntoh.c			\	obsints.c		\	op_2long.c      \	op_excl.c		\	op_filnf.c		\	op_filok.c		\	op_noacc.c		\	op_nofil.c		\	openfile.c		\	parent.c    	\	peek.c    		\	perf.c    		\	pipeping.c		\	pipeping2.c		\	pipepong.c		\	pipepong2.c		\	pipeself.c		\	poll_er.c		\	poll_nm.c		\	poll_to.c		\	pollable.c		\	prftest.c		\	prftest1.c		\	prftest2.c		\	primblok.c		\	priotest.c		\	provider.c		\	prpoll.c		\	prpollml.c		\	ranfile.c       \	randseed.c      \	rmdir.c			\	rwlocktest.c    \	sel_spd.c  		\	selct_er.c	    \	selct_nm.c	    \	selct_to.c	    \	select2.c  		\	selintr.c  		\	sem.c 	  		\	sema.c 	  		\	semaerr.c 		\	semaerr1.c 		\	semaping.c 		\	semapong.c 		\	sendzlf.c 		\	server_test.c	\	servr_kk.c		\	servr_ku.c		\	servr_uk.c		\	servr_uu.c		\	short_thread.c	\	sigpipe.c		\	socket.c		\	sockopt.c		\	sockping.c		\	sockpong.c		\	sprintf.c		\	sproc_ch.c	    \	sproc_p.c	    \	stack.c		    \	stdio.c		    \	str2addr.c		\	strod.c			\	suspend.c		\	switch.c		\	system.c		\	testbit.c    	\	testfile.c    	\	thrpool_server.c \	thrpool_client.c \	threads.c 	  	\	thruput.c 	  	\	timemac.c		\	timetest.c		\	tmoacc.c        \	tmocon.c        \	tpd.c			\	vercheck.c		\	version.c	    \	udpsrv.c	    \	writev.c        \	xnotify.c       \	y2k.c           \	y2ktmo.c        \	zerolen.c       \	$(NULL)ifeq ($(OS_TARGET),OS2)CSRCS +=            \	sleep.c			\	stat.c		    \	yield.c         \	$(NULL)endififeq (,$(filter-out WINNT OS2,$(OS_ARCH)))PROG_SUFFIX = .exeelsePROG_SUFFIX =endifPROGS = $(addprefix $(OBJDIR)/, $(CSRCS:.c=$(PROG_SUFFIX)))TARGETS = $(PROGS)INCLUDES = -I$(dist_includedir) -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/privateifeq ($(OS_ARCH), WINNT)  LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO  ifdef PROFILE                                                                                  LDOPTS += -PROFILE -MAP                                                                    endif # profileendififeq ($(OS_ARCH),OS2)ifeq ($(MOZ_OS2_TOOLS),VACPP)  LDOPTS = -NOE -DEBUG -nologo -PMTYPE:VIOelseifeq ($(MOZ_OS2_EMX_OBJECTFORMAT),OMF)  LDOPTS = -Zlinker /PM:VIOendifendifendififneq ($(OS_ARCH), WINNT)# Use an absolute pathname as the runtime library path (for the -R# or -rpath linker option or the LD_RUN_PATH environment variable).ifeq (,$(patsubst /%,,$(DIST)))# $(DIST) is already an absolute pathname.ABSOLUTE_LIB_DIR = $(dist_libdir)else# $(DIST) is a relative pathname: prepend the current directory.PWD = $(shell pwd)ABSOLUTE_LIB_DIR = $(PWD)/$(dist_libdir)endifendififeq ($(OS_ARCH), IRIX)    ifeq ($(USE_CPLUS), 1)        CC = CC    endif    LDOPTS += -rpath $(ABSOLUTE_LIB_DIR)    ifdef NS_USE_GCC        LDOPTS += -Wl,-rdata_shared    else        LDOPTS += -rdata_shared    endif# For 6.x machines, include this flag    ifeq ($(basename $(OS_RELEASE)),6)        ifndef NS_USE_GCC            ifeq ($(USE_N32),1)                LDOPTS += -n32            else                LDOPTS += -32            endif            ifeq ($(USE_PTHREADS), 1)                ifeq ($(OS_RELEASE), 6.2)                    LDOPTS += -Wl,-woff,85                endif            endif        endif    endifendififeq ($(OS_ARCH), OSF1)    ifeq ($(USE_CPLUS), 1)        CC = cxx    endif# I haven't figured out how to pass -rpath to cc on OSF1 V3.2, so# we do static linking.    ifeq (,$(filter-out V2.0 V3.2,$(OS_RELEASE)))        LIBNSPR = $(dist_libdir)/libnspr$(MOD_MAJOR_VERSION).a        LIBPLC = $(dist_libdir)/libplc$(MOD_MAJOR_VERSION).a        EXTRA_LIBS = -lc_r    else        LDOPTS += -rpath $(ABSOLUTE_LIB_DIR)    endifendififeq ($(OS_ARCH), HP-UX)    LDOPTS += -z -Wl,+s,+b,$(ABSOLUTE_LIB_DIR)    ifeq ($(USE_64),1)        LDOPTS += +DD64    endif    ifeq ($(USE_PTHREADS),1)        EXTRA_LIBS = $(LIBPTHREAD)    endifendif# AIXifeq ($(OS_ARCH),AIX)    LDOPTS += -blibpath:$(ABSOLUTE_LIB_DIR):/usr/lib:/lib    ifneq ($(OS_ARCH)$(OS_RELEASE),AIX4.1)        LDOPTS += -brtl        EXTRA_LIBS = -ldl    endifendif# Solarisifeq ($(OS_ARCH), SunOS)    ifneq ($(OS_RELEASE), 4.1.3_U1)        ifdef NS_USE_GCC            LDOPTS += -Xlinker -R -Xlinker $(ABSOLUTE_LIB_DIR)        else            ifeq ($(USE_CPLUS), 1)                CC = CC            endif            LDOPTS += -R $(ABSOLUTE_LIB_DIR)        endif    endif    ifneq ($(LOCAL_THREADS_ONLY),1)        ifdef USE_PTHREADS            EXTRA_LIBS = -lpthread -lthread        else            EXTRA_LIBS = -lthread        endif    endif # LOCAL_THREADS_ONLYendif # SunOSifeq ($(OS_ARCH), NEC)    EXTRA_LIBS = $(OS_LIBS)# This hardcodes in the executable programs the directory to find# libnspr.so etc. at program startup.  Equivalent to the -R or -rpath# option for ld on other platforms.    export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)endififeq ($(OS_ARCH), NCR)# NCR needs to link against -lsocket -lnsl -ldl (and -lc, which is# linked implicitly by $(CC)).  Note that we did not link with these# system libraries when we built libnspr.so.    EXTRA_LIBS = -lsocket -lnsl -ldl# This hardcodes in the executable programs the directory to find# libnspr.so etc. at program startup.  Equivalent to the -R or -rpath # option for ld on other platforms.    export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)endififeq ($(OS_ARCH), NEXTSTEP)# balazs.pataki@sztaki.hu: linkage is done in a different pass in the `tests'# modeul, so we have to pass the `-posix' flag by "hand" to `ld'LDOPTS += -posixendififeq ($(OS_ARCH), NEWS-OS)# This hardcodes in the executable programs the directory to find# libnspr.so etc. at program startup.  Equivalent to the -R or -rpath # option for ld on other platforms.#export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)    LIBNSPR = $(dist_libdir)/libnspr$(MOD_MAJOR_VERSION).a    LIBPLC = $(dist_libdir)/libplc$(MOD_MAJOR_VERSION).a    EXTRA_LIBS = -lsocket -lnsl -lgen -lresolvendififeq ($(OS_ARCH), Linux)    ifeq ($(OS_RELEASE), 1.2)        EXTRA_LIBS = -ldl    else        LDOPTS += -Xlinker -rpath $(ABSOLUTE_LIB_DIR)        ifeq ($(USE_PTHREADS),1)            EXTRA_LIBS = -lpthread        endif    endifendififeq ($(OS_ARCH), SCOOS)# SCO Unix needs to link against -lsocket again even though we# already linked with these system libraries when we built libnspr.so.EXTRA_LIBS = -lsocket# This hardcodes in the executable programs the directory to find# libnspr.so etc. at program startup.  Equivalent to the -R or -rpath # option for ld on other platforms.export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)endififeq ($(OS_ARCH),SINIX)EXTRA_LIBS = -lsocket -lnsl -lresolv -ldl# This hardcodes in the executable programs the directory to find# libnspr.so etc. at program startup.  Equivalent to the -R or -rpath# option for ld on other platforms.export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)endififeq ($(OS_ARCH),OpenUNIX)export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)ifeq ($(USE_PTHREADS),1)LDOPTS += -pthreadendifendififeq ($(OS_ARCH), UNIXWARE)export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)endififeq ($(OS_ARCH),FreeBSD)ifeq ($(USE_PTHREADS),1)LDOPTS += -pthreadendifLDOPTS += -Xlinker -R $(ABSOLUTE_LIB_DIR)endififeq ($(OS_ARCH),OpenBSD)ifeq ($(USE_PTHREADS),1)LDOPTS += -pthreadendifendififeq ($(OS_ARCH),BSD_OS)ifneq ($(OS_RELEASE),1.1)EXTRA_LIBS = -ldlendifendififeq ($(USE_PTHREADS),1)LIBPTHREAD = -lpthreadifeq ($(OS_ARCH),AIX)LIBPTHREAD = -lpthreadsendififeq (,$(filter-out FreeBSD OpenBSD BSD_OS NTO Darwin OpenUNIX,$(OS_ARCH)))LIBPTHREAD =endififeq ($(OS_ARCH)$(basename $(OS_RELEASE)),HP-UXB.10)LIBPTHREAD = -ldceendifendif####################################################### The rules######################################################include $(topsrcdir)/config/rules.mkAIX_PRE_4_2 = 0ifeq ($(OS_ARCH),AIX)ifeq ($(OS_RELEASE),4.1)ifneq ($(USE_PTHREADS), 1)#AIX_PRE_4_2 = 1endifendifendififeq ($(AIX_PRE_4_2),1)# AIX releases prior to 4.2 need a special two-step linking hack# in order to both override the system select() and be able to # get at the original system select().## We use a pattern rule in ns/nspr20/config/rules.mk to generate# the .$(OBJ_SUFFIX) file from the .c source file, then do the# two-step linking hack below.$(OBJDIR)/%: $(OBJDIR)/%.$(OBJ_SUFFIX)	@$(MAKE_OBJDIR)	rm -f $@ $(AIX_TMP)	$(CC) $(AIX_LINK_OPTS) -o $(AIX_TMP) $< $(dist_libdir)/libnspr$(MOD_MAJOR_VERSION).a	$(CC) -o $@ $(AIX_TMP) $(AIX_WRAP)	rm -f $(AIX_TMP)else# All platforms that are not AIX pre-4.2.$(OBJDIR)/%$(PROG_SUFFIX): $(OBJDIR)/%.$(OBJ_SUFFIX)	@$(MAKE_OBJDIR)ifeq ($(OS_ARCH), WINNT)	link $(LDOPTS) $(EXTRA_LDOPTS) $< $(LIBPLC) $(LIBNSPR) $(EXTRA_LIBS) wsock32.lib -out:$@elseifeq ($(OS_ARCH),OS2)	$(LD) $(EXEFLAGS) $(LDOPTS) $< $(LIBPLC) $(LIBNSPR) $(OS_LIBS) $(EXTRA_LIBS)else	$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(EXTRA_LIBS) -o $@endif # OS/2endif # WINNTendif # AIX_PRE_4_2export:: $(TARGETS)clean::	rm -f $(TARGETS)# The following tests call BSD socket functions, so they need to link# with -lsocket on some platforms.ifeq ($(OS_ARCH),SunOS)ifneq ($(OS_RELEASE),4.1.3_U1)ifeq ($(USE_IPV6),1)$(OBJDIR)/gethost: $(OBJDIR)/gethost.o	$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@endif$(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o	$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@endifendififeq ($(USE_PTHREADS), 1)$(OBJDIR)/attach: $(OBJDIR)/attach.o	$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@$(OBJDIR)/foreign: $(OBJDIR)/foreign.o	$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@$(OBJDIR)/provider: $(OBJDIR)/provider.o	$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@$(OBJDIR)/socket: $(OBJDIR)/socket.o	$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@$(OBJDIR)/testfile: $(OBJDIR)/testfile.o	$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@endif## Run the test programs with no arguments## Test output goes to the file pointed to by the environment variable# NSPR_TEST_LOGFILE, if set, else to /dev/null#ECHO = echoPROGRAMS = $(notdir $(PROGS))ifdef NSPR_TEST_LOGFILELOGFILE = $(NSPR_TEST_LOGFILE)elseifeq (,$(filter-out WINNT OS2,$(OS_ARCH)))LOGFILE = nulelseLOGFILE = /dev/nullendifendififeq ($(OS_TARGET),Linux)ECHO = /bin/echoendifALWAYS:runtests:: $(PROGS) ALWAYS	@$(ECHO) "\nNSPR Test Results - $(OBJDIR)\n"	@$(ECHO) "BEGIN\t\t\t`date`"	@$(ECHO) "NSPR_TEST_LOGFILE\t$(LOGFILE)\n"	@$(ECHO) "Test\t\t\tResult\n"	@cd $(OBJDIR); for i in $(PROGRAMS); do					\	$(ECHO) "$$i\c";										\	./$$i >> $(LOGFILE) 2>&1 ;								\	if  [ 0 = $$? ] ; then									\		$(ECHO) "\t\t\tPassed";								\	else													\		$(ECHO) "\t\t\tFAILED";								\	fi;														\	done	@$(ECHO) "\nEND\t\t`date`\n"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -