1 # -*- Mode: makefile -*-
3 # ***** BEGIN LICENSE BLOCK *****
4 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
6 # The contents of this file are subject to the Mozilla Public License Version
7 # 1.1 (the "License"); you may not use this file except in compliance with
8 # the License. You may obtain a copy of the License at
9 # http://www.mozilla.org/MPL/
11 # Software distributed under the License is distributed on an "AS IS" basis,
12 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 # for the specific language governing rights and limitations under the
16 # The Original Code is Mozilla Communicator client code, released
19 # The Initial Developer of the Original Code is
20 # Netscape Communications Corporation.
21 # Portions created by the Initial Developer are Copyright (C) 1998
22 # the Initial Developer. All Rights Reserved.
26 # Alternatively, the contents of this file may be used under the terms of
27 # either the GNU General Public License Version 2 or later (the "GPL"), or
28 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29 # in which case the provisions of the GPL or the LGPL are applicable instead
30 # of those above. If you wish to allow use of your version of this file only
31 # under the terms of either the GPL or the LGPL, and not to allow others to
32 # use your version of this file under the terms of the MPL, indicate your
33 # decision by deleting the provisions above and replace them with the notice
34 # and other provisions required by the GPL or the LGPL. If you do not delete
35 # the provisions above, a recipient may use your version of this file under
36 # the terms of any one of the MPL, the GPL or the LGPL.
38 # ***** END LICENSE BLOCK *****
41 # Config for all versions of Linux
47 CFLAGS += -Wall -Wno-format -MMD
48 OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DLINUX
51 MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS)
54 # $(CC) -c -MD $*.d $(CFLAGS) $<
56 CPU_ARCH = $(shell uname -m)
57 # don't filter in x86-64 architecture
58 ifneq (x86_64,$(CPU_ARCH))
59 ifeq (86,$(findstring 86,$(CPU_ARCH)))
61 OS_CFLAGS += -DX86_LINUX -DAVMPLUS_IA32 -DAVMPLUS_UNIX -DAVMPLUS_LINUX
66 #JIT disabled until x64 port is cleaned up
67 #ifeq ($(CPU_ARCH),x86_64)
68 #OS_CFLAGS += -DAVMPLUS_AMD64 -DAVMPLUS_64BIT -DAVMPLUS_UNIX -DAVMPLUS_LINUX
72 ifeq ($(CPU_ARCH),arm)
73 OS_CFLAGS += -DAVMPLUS_ARM -DAVMPLUS_UNIX -DAVMPLUS_LINUX
81 ASFLAGS += -x assembler-with-cpp
84 ifeq ($(CPU_ARCH),alpha)
86 # Ask the C compiler on alpha linux to let us work with denormalized
87 # double values, which are required by the ECMA spec.
92 # Use the editline library to provide line-editing support.
95 ifeq ($(CPU_ARCH),x86_64)
96 # Use VA_COPY() standard macro on x86-64
97 # FIXME: better use it everywhere
98 OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=va_copy
101 ifeq ($(CPU_ARCH),x86_64)
102 # We need PIC code for shared libraries
103 # FIXME: better patch rules.mk & fdlibm/Makefile*
104 OS_CFLAGS += -DPIC -fPIC