# # ***** 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 the Netscape Portable Runtime (NSPR). # # The Initial Developer of the Original Code is # Netscape Communications Corporation. # Portions created by the Initial Developer are Copyright (C) 1998-2000 # 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 ***** # # Configuration common to all (supported) versions of OS/2 # # OS_CFLAGS is the command line options for the compiler when # building the .DLL object files. # OS_EXE_CFLAGS is the command line options for the compiler # when building the .EXE object files; this is for the test # programs. # the macro OS_CFLAGS is set to OS_EXE_CFLAGS inside of the # makefile for the pr/tests directory. ... Hack. # Specify toolset. Default to EMX. ifeq ($(MOZ_OS2_TOOLS),VACPP) XP_OS2_VACPP = 1 else ifeq ($(MOZ_OS2_TOOLS),PGCC) XP_OS2_EMX = 1 else MOZ_OS2_TOOLS = EMX XP_OS2_EMX = 1 endif endif ifeq ($(XP_OS2_EMX),1) MOZ_EMXTAG = $(subst .,,$(MOZ_OS2_EMX_OBJECTFORMAT)) endif # # On OS/2 we proudly support gbash... # SHELL = GBASH.EXE CC = icc -q -DXP_OS2 -N10 CCC = icc -q -DXP_OS2 -DOS2=4 -N10 LINK = -ilink AR = -ilib /noignorecase /nologo /Out:$(subst /,\\,$@) RANLIB = @echo RANLIB BSDECHO = @echo BSDECHO NSINSTALL = nsinstall INSTALL = $(NSINSTALL) MAKE_OBJDIR = if test ! -d $(OBJDIR); then mkdir $(OBJDIR); fi IMPLIB = implib -nologo -noignorecase FILTER = cppfilt -b -p -q RC = rc.exe GARBAGE = XP_DEFINE = -DXP_PC LIB_SUFFIX = lib DLL_SUFFIX = dll OBJ_SUFFIX = obj OS_CFLAGS = -W3 -Wcnd- -gm -gd+ -sd- -su4 -ge- -Mp OS_EXE_CFLAGS = -W3 -Wcnd- -gm -gd+ -sd- -su4 -Mp AR_EXTRA_ARGS = ifdef BUILD_OPT OPTIMIZER = -O+ -Oi DEFINES = -UDEBUG -U_DEBUG -DNDEBUG DLLFLAGS = -DLL -OUT:$@ -MAP:$(@:.dll=.map) EXEFLAGS = -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE OBJDIR_TAG = _OPT else OPTIMIZER = -Ti+ -DE DEFINES = -DDEBUG -D_DEBUG -DDEBUGPRINTS DLLFLAGS = -DEBUG -DLL -OUT:$@ -MAP:$(@:.dll=.map) EXEFLAGS = -DEBUG -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE OBJDIR_TAG = _DBG LDFLAGS = -DEBUG endif DEFINES += -DOS2=4 DEFINES += -D_X86_ DEFINES += -D_PR_GLOBAL_THREADS_ONLY -DBSD_SELECT # Name of the binary code directories ifdef MOZ_LITE OBJDIR_NAME = $(subst OS2,NAV,$(OS_CONFIG))_$(MOZ_OS2_TOOLS)$(MOZ_EMXTAG)$(OBJDIR_TAG).OBJ else OBJDIR_NAME = $(OS_CONFIG)_$(MOZ_OS2_TOOLS)$(MOZ_EMXTAG)$(OBJDIR_TAG).OBJ endif OS_DLLFLAGS = -nologo -DLL -FREE -NOE ifdef XP_OS2_VACPP OS_LIBS = so32dll.lib tcp32dll.lib DEFINES += -DXP_OS2_VACPP -DTCPV40HDRS else CC = gcc CCC = gcc LINK = gcc RC = rc.exe FILTER = emxexp IMPLIB = emximp -o # Determine which object format to use. Two choices: # a.out and omf. We default to omf. ifeq ($(MOZ_OS2_EMX_OBJECTFORMAT), A.OUT) AR = ar -q $@ LIB_SUFFIX = a else OMF_FLAG = -Zomf AR = emxomfar r $@ LIB_SUFFIX = lib endif OS_LIBS = -lsocket -lemxio DEFINES += -DXP_OS2 -DXP_OS2_EMX -DOS2EMX_PLAIN_CHAR OS_CFLAGS = $(OMF_FLAG) -Wall -Wno-unused -Zmtd OS_EXE_CFLAGS = $(OMF_FLAG) -Wall -Wno-unused -Zmtd OS_DLLFLAGS = $(OMF_FLAG) -Zmt -Zdll -Zcrtdll -o $@ ifeq ($(MOZ_OS2_EMX_OBJECTFORMAT),OMF) EXEFLAGS += -Zlinker /DE endif ifdef BUILD_OPT OPTIMIZER = -O3 DLLFLAGS = EXEFLAGS = -Zmtd -o $@ else OPTIMIZER = -g #-s DLLFLAGS = -g #-s EXEFLAGS = -g $(OMF_FLAG) -Zmtd -L$(DIST)/lib -o $@ # -s ifeq ($(MOZ_OS2_EMX_OBJECTFORMAT),OMF) EXEFLAGS += -Zlinker /DE endif endif AR_EXTRA_ARGS = endif