moonbridge

annotate Makefile @ 333:15dfa1e9b629

Updated LICENSE
author jbe
date Wed Apr 28 12:59:27 2021 +0200 (2021-04-28)
parents 247d9d029306
children
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

Impressum / About Us