2 # Variables included by all Makefiles.
5 ## Directory definitions
7 libdir = $(saclroot
)/lib
8 mobiusdir
= $(saclroot
)/src
/mobius
9 pluginsdir
= $(saclroot
)/src
/plugins
10 testdir
= $(saclroot
)/tests
13 datadir = $(prefix)/share
/sacl
14 exec_prefix = $(prefix)/bin
16 includedir = $(prefix)/include
17 mandir = $(prefix)/share
/man
18 man1dir = $(mandir)/man1
19 infodir = $(prefix)/info
20 lispdir
= $(prefix)/share
/emacs
/site-lisp
23 ## Build modes. Set on command line using QUIET=1, DEBUG=1 or PROFILE=1
32 SILENT_ERRORS
:= 2> $(DEVNULL
)
33 LIBTOOL_FLAGS
+= --silent
40 CFLAGS
+= -DSACL_BUILD_TYPE
="\"Debug\""
44 COPTFLAGS
+= -pg
-g
-O2
-fprofile-arcs
-ftest-coverage
45 LDFLAGS
+= -pg
-g
-fprofile-arcs
-ftest-coverage
46 CFLAGS
+= -DSACL_BUILD_TYPE
="\"Profile\""
49 CFLAGS
+= -DSACL_BUILD_TYPE
="\"Optimized\""
54 ## All required executables
61 WGET
:= wget
-q
--cache
=off
69 ## Platform independent definitions
72 #CFLAGS += -DSACL_DATADIR=$(datadir) -D_POSIX_SOURCE=200112L -D_POSIX_C_SOURCE=200112L
73 CFLAGS
+= -DSACL_DATADIR
=$(datadir) -D_XOPEN_SOURCE
=600 --std
=c
++0x
74 CFLAGS
+= $(COPTFLAGS
) -Wall
-Wno-unknown-pragmas
$(EXTRACFLAGS
) $(INCLUDES
)
75 # include -pedantic later fixme
77 ## Determine the host system's byte order.
78 ## This creates a temporary test executable in the $(saclroot) directory
79 ## since we can guarantee write permissions there on all platforms.
81 BYTE_ORDER_FN
:= $(saclroot
)/byteorder
82 BYTE_ORDER_SRC
:= "int main(){union{long l;char c[sizeof(long)];}u;u.l=1;return(u.c[sizeof(long)-1]==1);}"
83 BYTE_ORDER
:= $(shell echo
$(BYTE_ORDER_SRC
) > $(BYTE_ORDER_FN
).c
)
84 BYTE_ORDER
:= $(shell $(CC
) -o
$(BYTE_ORDER_FN
) $(BYTE_ORDER_FN
).c
)
85 BYTE_ORDER
:= $(shell $(BYTE_ORDER_FN
); echo
$$?
)
86 BYTE_ORDER_
:= $(shell $(RM
) $(BYTE_ORDER_FN
).
* $(BYTE_ORDER_FN
) 1>&2)
87 ifeq ($(BYTE_ORDER
),0)
88 BYTE_ORDER
:= LITTLE_ENDIAN
89 BYTE_ORDER_PREFIX
:= little
90 LITTLE_ENDIAN_SACL
:= True
92 BYTE_ORDER
:= BIG_ENDIAN
93 BYTE_ORDER_PREFIX
:= big
94 LITTLE_ENDIAN_SACL
:= False
100 CCVERSION
:= $(shell $(CC
) -dumpversion
)
103 HOST_SYSTEM
:= $(shell uname
-s
)
105 INSTALL_MODE
:= -m
644
106 CPU_TYPE
:= `uname -m`
108 COMPILERDIR
:= $(saclroot
)/src
/compiler
111 ## Determine CPU type
113 ## TODO: Sparc detection for SunOS?
114 ## TODO: Base CPU type on real information, not just generic OS variant
116 ## CPU-type specific overrides. Any of the variables above may be changed here.
123 CFLAGS
+= -DVERSION
="\"$(VERSION)\""
127 CFLAGS
+= -m
$(WORD_SIZE
)
128 CFLAGS
+= -D_FILE_OFFSET_BITS
=$(WORD_SIZE
)
132 ## Platform specific overrides. Any of the variables above may be changed here.
135 ifeq ($(findstring CYGWIN
,$(HOST_SYSTEM
)), CYGWIN
)
137 LDFLAGS
+= -no-undefined
140 # DEVNULL := NUL # Required if using cmd.exe and not bash.
143 ifeq ($(HOST_SYSTEM
), Darwin
)
144 # LIBTOOL := MACOSX_DEPLOYMENT_TARGET=10.3 glibtool
146 PLUGINS
:= cocoa-windows.so
149 ifeq ($(HOST_SYSTEM
), DragonFly
)
153 ifeq ($(HOST_SYSTEM
), FreeBSD
)
158 ifeq ($(HOST_SYSTEM
), HP-UX
)
164 ifeq ($(HOST_SYSTEM
), Linux
)
169 ifeq ($(findstring MINGW
,$(HOST_SYSTEM
)), MINGW
)
174 ifeq ($(HOST_SYSTEM
), NetBSD
)
178 PLUGINS
:= $(subst .so
,$(LIB_SO_EXT
), $(PLUGINS
))