📄 makefile.ref
字号:
## ***** BEGIN LICENSE BLOCK *****# Version: MPL 1.1/GPL 2.0/LGPL 2.1## 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 Mozilla Communicator client code, released# March 31, 1998.## The Initial Developer of the Original Code is# Netscape Communications Corporation.# Portions created by the Initial Developer are Copyright (C) 1999# the Initial Developer. All Rights Reserved.## Contributor(s):## Alternatively, the contents of this file may be used under the terms of# either the GNU General Public License Version 2 or later (the "GPL"), or# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),# in which case the provisions of the GPL or the LGPL are applicable instead# of those above. If you wish to allow use of your version of this file only# under the terms of either the GPL or the LGPL, and not to allow others to# use your version of this file under the terms of the MPL, indicate your# decision by deleting the provisions above and replace them with the notice# and other provisions required by the GPL or the LGPL. If you do not delete# the provisions above, a recipient may use your version of this file under# the terms of any one of the MPL, the GPL or the LGPL.## ***** END LICENSE BLOCK *****## Makefile for the perlconnect extension to javascript.### Stolen with apologies to liveconnect.#DEPTH = ..## XCFLAGS may be set in the environment or on the gmake command line#CC = ccCFLAGS += $(OPTIMIZER) $(OS_CFLAGS) $(DEFINES) $(INCLUDES) \ -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DX86_LINUX \ -DDEBUG -DDEBUG_livshits -Dbool=char -DHAS_BOOL -DGCC_OPT_BUG -D_XOPEN_SOURCE# -DJSFILE $(XCFLAGS)\# -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DX86_LINUX LDFLAGS += -lm $(XLDFLAGS)## Ask perl what flags it was built with, so we can build js with similar flags# and link properly. Viva gmake.#PERLCFLAGS := $(shell perl -MExtUtils::Embed -e ccopts)PERLLDFLAGS := $(shell perl -MExtUtils::Embed -e ldopts)# perl erroneously reports compiler flag -rdynamic (interpreted by ld# as -r) when it really meant -export-dynamic.PERLLDFLAGS := $(subst -rdynamic,-export-dynamic,$(PERLLDFLAGS))CFLAGS += $(PERLCFLAGS)LDFLAGS += $(PERLLDFLAGS)# For purifyPURE_CFLAGS = -DXP_UNIX $(OPTIMIZER) $(PURE_OS_CFLAGS) $(DEFINES) \ $(INCLUDES) $(XCFLAGS)## perlconnect file lists#PC_HFILES = \ jsperl.h \ $(NULL)HFILES = $(PC_HFILES)PC_CFILES = \ jsperl.c \ JS.c \ $(NULL)#JS.c: JS.xs typemap# perl jsperlbuild.plLIB_CFILES = $(PC_CFILES)PROG_FILE = jsinclude $(DEPTH)/config.mk# uncomment this if we decide we need a local config dir...#include config/$(OS_CONFIG).mkINCLUDES += -I. -I.. -I../$(OBJDIR)ifdef USE_MSVCOTHER_LIBS += $(DEPTH)/fdlibm/$(OBJDIR)/fdlibm.libelseOTHER_LIBS += -L$(DEPTH)/fdlibm/$(OBJDIR) -lfdmendififdef JS_THREADSAFEifdef USE_MSVCOTHER_LIBS += $(DEPTH)/../../dist/$(OBJDIR)/lib/nspr3.libelseOTHER_LIBS += -L$(DEPTH)/../../dist/$(OBJDIR)/lib -lnspr3endifendififdef USE_MSVCLIBRARY = $(OBJDIR)/JS.libSHARED_LIBRARY = $(OBJDIR)/JS.dllPROGRAM = $(OBJDIR)/jsperl.exeelseLIBRARY = $(OBJDIR)/JS.aSHARED_LIBRARY = $(OBJDIR)/JS.soPROGRAM = $(OBJDIR)/jsperlendifinclude $(DEPTH)/rules.mkifdef USE_MSVC$(OBJDIR)/$(PROG_FILE)_lc.obj: ../$(PROG_FILE).c @$(MAKE_OBJDIR) $(CC) -Fo$@ -c $(CFLAGS) -DPERLCONNECT ../$(PROG_FILE).c$(PROGRAM): $(OBJDIR)/$(PROG_FILE)_lc.obj $(LIBRARY) link.exe -out:"$@" /pdb:"$(OBJDIR)/$(@F:.exe=.pdb)" $(EXE_LINK_FLAGS) ../$(OBJDIR)/js32.lib $?else$(OBJDIR)/$(PROG_FILE).o: ../$(PROG_FILE).c @$(MAKE_OBJDIR) $(CC) -o $@ -c $(CFLAGS) -DPERLCONNECT ../$(PROG_FILE).c$(PROGRAM): $(OBJDIR)/$(PROG_FILE).o @$(MAKE_OBJDIR) $(CC) -o $@ $(CFLAGS) $+ $(LIBRARY) ../$(OBJDIR)/libjs.a $(LDFLAGS) $(OTHER_LIBS)endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -