rev |
line source |
jbe@0
|
1 # BSD Makefile
|
jbe@0
|
2 # On GNU systems, use bmake.
|
jbe@0
|
3
|
jbe@331
|
4 .ifndef PLATFORM
|
jbe@24
|
5 PLATFORM != uname
|
jbe@331
|
6 .endif
|
jbe@24
|
7
|
jbe@24
|
8 .if $(PLATFORM) == "FreeBSD"
|
jbe@0
|
9 # Default configuration for FreeBSD
|
jbe@262
|
10 LUA_INCLUDE ?= /usr/local/include/lua53
|
jbe@0
|
11 LUA_LIBDIR ?= /usr/local/lib
|
jbe@262
|
12 LUA_LIBRARY ?= lua-5.3
|
jbe@324
|
13 UTIL_FLAGS ?= -lutil
|
jbe@0
|
14
|
jbe@24
|
15 .elif $(PLATFORM) == "Linux"
|
jbe@16
|
16 # Distinguish between different Linux distributions
|
jbe@331
|
17 .ifndef DISTRIBUTION
|
jbe@24
|
18 DISTRIBUTION != lsb_release -i -s
|
jbe@331
|
19 .endif
|
jbe@320
|
20 .if $(DISTRIBUTION) == "Debian" || $(DISTRIBUTION) == "Raspbian"
|
jbe@25
|
21 # Default configuration for Debian
|
jbe@262
|
22 LUA_INCLUDE ?= /usr/include/lua5.3
|
jbe@25
|
23 LUA_LIBDIR ?= /usr/lib
|
jbe@262
|
24 LUA_LIBRARY ?= lua5.3
|
jbe@25
|
25 UTIL_FLAGS ?= -ldl -lbsd -lrt
|
jbe@25
|
26 .elif $(DISTRIBUTION) == "Ubuntu"
|
jbe@16
|
27 # Default configuration for Ubuntu
|
jbe@262
|
28 LUA_INCLUDE ?= /usr/include/lua5.3
|
jbe@16
|
29 LUA_LIBDIR ?= /usr/lib/x86_64-linux-gnu
|
jbe@262
|
30 LUA_LIBRARY ?= lua5.3
|
jbe@16
|
31 UTIL_FLAGS ?= -ldl -lbsd
|
jbe@16
|
32 .else
|
jbe@16
|
33 # Default configuration for other Linux distributions
|
jbe@331
|
34 .warning Could not determine Linux distribution. You might need to set LUA_INCLUDE, LUA_LIBDIR, LUA_LIBRARY, and UTIL_FLAGS manually!
|
jbe@0
|
35 LUA_INCLUDE ?= /usr/include
|
jbe@0
|
36 LUA_LIBDIR ?= /usr/lib
|
jbe@0
|
37 LUA_LIBRARY ?= lua
|
jbe@0
|
38 UTIL_FLAGS ?= -ldl -lbsd
|
jbe@16
|
39 .endif
|
jbe@0
|
40
|
jbe@0
|
41 .else
|
jbe@0
|
42 # Default configuration for other systems
|
jbe@331
|
43 .warning Could not determine Platform. You might need to set LUA_INCLUDE, LUA_LIBDIR, LUA_LIBRARY, and UTIL_FLAGS manually!
|
jbe@0
|
44 LUA_INCLUDE ?= /usr/include
|
jbe@0
|
45 LUA_LIBDIR ?= /usr/lib
|
jbe@0
|
46 LUA_LIBRARY ?= lua
|
jbe@0
|
47 UTIL_FLAGS ?= -lutil
|
jbe@0
|
48
|
jbe@0
|
49 .endif
|
jbe@0
|
50
|
jbe@8
|
51 .ifdef MOONBR_LUA_PATH
|
jbe@8
|
52 MOONBR_LUA_PATH_DEFINE = "-DMOONBR_LUA_PATH=\"$(MOONBR_LUA_PATH)\""
|
jbe@8
|
53 .endif
|
jbe@8
|
54
|
jbe@9
|
55 .ifdef MOONBR_LUA_CPATH
|
jbe@9
|
56 MOONBR_LUA_CPATH_DEFINE = "-DMOONBR_LUA_CPATH=\"$(MOONBR_LUA_CPATH)\""
|
jbe@9
|
57 .endif
|
jbe@9
|
58
|
jbe@185
|
59 all:: moonbridge moonbridge_io.so
|
jbe@79
|
60
|
jbe@79
|
61 moonbridge: moonbridge.c moonbridge_io.h moonbridge_io.o
|
jbe@79
|
62 cc -Wall -Wno-unused-result -O2 -Wl,-E -I $(LUA_INCLUDE) -L $(LUA_LIBDIR) -o moonbridge $(MOONBR_LUA_PATH_DEFINE) $(MOONBR_LUA_CPATH_DEFINE) moonbridge.c -lm -l$(LUA_LIBRARY) $(UTIL_FLAGS) moonbridge_io.o
|
jbe@0
|
63
|
jbe@139
|
64 moonbridge_io.o: moonbridge_io.c moonbridge_io.h
|
jbe@79
|
65 cc -c -Wall -O2 -fPIC -I $(LUA_INCLUDE) -o moonbridge_io.o moonbridge_io.c
|
jbe@79
|
66
|
jbe@79
|
67 moonbridge_io.so: moonbridge_io.o
|
jbe@325
|
68 cc -shared -o moonbridge_io.so moonbridge_io.o $(UTIL_FLAGS)
|
jbe@0
|
69
|
jbe@243
|
70 freebsd_with_tls::
|
jbe@243
|
71 #TODO
|
jbe@325
|
72 cc -D MOONBR_IO_USE_TLS -c -Wall -O2 -fPIC -I /usr/local/include/lua53 -I /usr/local/include -o moonbridge_io.o moonbridge_io.c && cc -L/usr/local/lib -shared -o moonbridge_io.so moonbridge_io.o -lutil -ltls
|
jbe@243
|
73
|
jbe@185
|
74 clean::
|
jbe@185
|
75 rm -f moonbridge moonbridge_io.o moonbridge_io.so
|
jbe@139
|
76
|