]> git.decadent.org.uk Git - ion3.git/blob - system.mk
Add 20080207-1.
[ion3.git] / system.mk
1 ##
2 ## System settings
3 ##
4
5 ##
6 ## Installation paths
7 ##
8
9 # Installation path prefix. Unless you know what you're doing, the default
10 # of /usr/local is likely the correct choice.
11 PREFIX=/usr/local
12
13 # Unless you are creating a package conforming to some OS's standards, you
14 # probably do not want to modify the following directories:
15
16 # Main binaries
17 BINDIR=$(PREFIX)/bin
18 # Configuration .lua files
19 ETCDIR=$(PREFIX)/etc/ion3
20 # Some .lua files and ion-* shell scripts
21 SHAREDIR=$(PREFIX)/share/ion3
22 # Manual pages
23 MANDIR=$(PREFIX)/share/man
24 # Some documents
25 DOCDIR=$(PREFIX)/share/doc/ion3
26 # Nothing at the moment
27 INCDIR=$(PREFIX)/include/ion3
28 # Nothing at the moment
29 LIBDIR=$(PREFIX)/lib
30 # Modules
31 MODULEDIR=$(LIBDIR)/ion3/mod
32 # Compiled Lua source code
33 LCDIR=$(LIBDIR)/ion3/lc
34 # ion-completefile (does not belong in SHAREDIR being a binary file)
35 EXTRABINDIR=$(LIBDIR)/ion3/bin
36 # For ion-completeman system-wide cache
37 VARDIR=/var/cache/ion3
38 # Message catalogs
39 LOCALEDIR=$(PREFIX)/share/locale
40
41 # Executable suffix (for Cygwin).
42 #BIN_SUFFIX = .exe
43
44
45 ##
46 ## Modules
47 ##
48
49 # Set PRELOAD_MODULES=1 if your system does not support dynamically loaded
50 # modules through 'libdl' or has non-standard naming conventions.
51 # You will likely need this option on e.g. Cygwin and Mac OS X.
52 #PRELOAD_MODULES=1
53
54 # Flags to link with libdl. Even if PRELOAD_MODULES=1, you may need this
55 # setting (for e.g. Lua, when not instructed by pkg-config).
56 DL_LIBS=-ldl
57
58
59 ##
60 ## Lua
61 ##
62
63 # If you have installed Lua 5.1 from the official tarball without changing
64 # paths, this should do it.
65 LUA_DIR=/usr/local
66 LUA_LIBS = -L$(LUA_DIR)/lib -llua
67 LUA_INCLUDES = -I$(LUA_DIR)/include
68 LUA=$(LUA_DIR)/bin/lua
69 LUAC=$(LUA_DIR)/bin/luac
70
71 # If you are using the Debian packages, the following settings should be
72 # what you want.
73 #LUA_LIBS=`pkg-config --libs lua5.1`
74 #LUA_INCLUDES=`pkg-config --cflags lua5.1`
75 #LUA=/usr/bin/lua5.1
76 #LUAC=/usr/bin/luac5.1
77
78
79 ##
80 ## X libraries, includes and options
81 ##
82
83 # Paths
84 X11_PREFIX=/usr/X11R6
85 # SunOS/Solaris
86 #X11_PREFIX=/usr/openwin
87
88 X11_LIBS=-L$(X11_PREFIX)/lib -lX11 -lXext
89 X11_INCLUDES=-I$(X11_PREFIX)/include
90
91 # XFree86 libraries up to 4.3.0 have a bug that can cause a segfault.
92 # The following setting  should  work around that situation.
93 DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND
94
95 # Use the Xutf8 routines (XFree86 extension) instead of the Xmb routines
96 # in an UTF-8 locale. (No, you don't need this in UTF-8 locales, and 
97 # most likely don't even want. It's only there because both Xmb and 
98 # Xutf8 routines are broken, in different ways.)
99 #DEFINES += -DCF_DE_USE_XUTF8
100
101 # Remap F11 key to SunF36 and F12 to SunF37? You may want to set this
102 # on SunOS.
103 #DEFINES += -DCF_SUN_F1X_REMAP
104
105
106 ##
107 ## Localisation
108 ##
109
110 # If you're on an archaic system (such as relatively recent *BSD releases)
111 # without even dummy multibyte/widechar and localisation support, you may 
112 # have to uncomment the following line:
113 #DEFINES += -DCF_NO_LOCALE -DCF_NO_GETTEXT
114
115 # On some other systems you may need to explicitly link against libintl.
116 #EXTRA_LIBS += -lintl
117 # You may also need to give the location of its headers. The following
118 # should work on Mac OS X (which needs the above option as well) with
119 # macports.
120 #EXTRA_INCLUDES += -I/opt/local/include
121
122
123 ##
124 ## libc
125 ##
126
127 # You may uncomment this if you know that your system C libary provides
128 # asprintf and  vasprintf. (GNU libc does.) If HAS_SYSTEM_ASPRINTF is not
129 # defined, an implementation provided in libtu/sprintf_2.2/ is used. 
130 #HAS_SYSTEM_ASPRINTF=1
131
132 # The following setting is needed with GNU libc for clock_gettime and the
133 # monotonic clock. Other systems may not need it, or may not provide a
134 # monotonic clock at all (which Ion can live with, and usually detect).
135 EXTRA_LIBS += -lrt
136
137 # Cygwin needs this.
138 #DEFINES += -DCF_NO_GETLOADAVG
139
140
141 #
142 # If you're using/have gcc, it is unlikely that you need to modify
143 # any of the settings below this line.
144 #
145 #####################################################################
146
147
148 ##
149 ## C compiler. 
150 ##
151
152 CC=gcc
153
154 # Same as '-Wall -pedantic' without '-Wunused' as callbacks often
155 # have unused variables.
156 WARN=   -W -Wimplicit -Wreturn-type -Wswitch -Wcomment \
157         -Wtrigraphs -Wformat -Wchar-subscripts \
158         -Wparentheses -pedantic -Wuninitialized
159
160 CFLAGS=-Os $(WARN) $(DEFINES) $(INCLUDES) $(EXTRA_INCLUDES)
161 LDFLAGS=$(LIBS) $(EXTRA_LIBS)
162 EXPORT_DYNAMIC=-Xlinker --export-dynamic
163
164 # The following options are mainly for development use and can be used
165 # to check that the code seems to conform to some standards. Depending
166 # on the version and vendor of you libc, the options may or may not have
167 # expected results. If you define one of C99_SOURCE or XOPEN_SOURCE, you
168 # may also have to define the other. 
169
170 #C89_SOURCE=-ansi
171
172 #POSIX_SOURCE=-D_POSIX_C_SOURCE=200112L
173
174 # Most systems
175 #XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED
176 # SunOS, (Irix)
177 #XOPEN_SOURCE=-D__EXTENSIONS__
178
179 #C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY
180
181 # The -DCF_HAS_VA_COPY option should allow for some optimisations, and 
182 # in some cases simply defining
183 #C99_SOURCE=-DCF_HAS_VA_COPY
184 # might allow for those optimisations to be taken without any  special
185 # libc or compiler options.
186
187
188 ##
189 ## make depend
190 ##
191
192 DEPEND_FILE=.depend
193 DO_MAKE_DEPEND=$(CC) -MM $(DEFINES) $(INCLUDES) $(EXTRA_INCLUDES)
194 MAKE_DEPEND=$(DO_MAKE_DEPEND) $(SOURCES) > $(DEPEND_FILE)
195
196
197 ##
198 ## AR
199 ##
200
201 AR=ar
202 ARFLAGS=cr
203 RANLIB=ranlib
204
205
206 ##
207 ## Install & strip
208 ##
209
210 INSTALL=sh $(TOPDIR)/install-sh -c
211 INSTALL_STRIP=-s
212 INSTALLDIR=mkdir -p
213
214 BIN_MODE=755
215 DATA_MODE=644
216
217 RM=rm
218
219
220 ##
221 ## Debugging
222 ##
223
224 #INSTALL_STRIP =
225 #CFLAGS += -g
226