jbe@0: # BSD Makefile jbe@0: # On GNU systems, use bmake. jbe@0: jbe@24: PLATFORM != uname jbe@24: jbe@24: .if $(PLATFORM) == "FreeBSD" jbe@0: # Default configuration for FreeBSD jbe@262: LUA_INCLUDE ?= /usr/local/include/lua53 jbe@0: LUA_LIBDIR ?= /usr/local/lib jbe@262: LUA_LIBRARY ?= lua-5.3 jbe@0: UTIL_FLAGS ?= -lutil jbe@0: jbe@24: .elif $(PLATFORM) == "Linux" jbe@16: # Distinguish between different Linux distributions jbe@24: DISTRIBUTION != lsb_release -i -s jbe@25: .if $(DISTRIBUTION) == "Debian" jbe@25: # Default configuration for Debian jbe@262: LUA_INCLUDE ?= /usr/include/lua5.3 jbe@25: LUA_LIBDIR ?= /usr/lib jbe@262: LUA_LIBRARY ?= lua5.3 jbe@25: UTIL_FLAGS ?= -ldl -lbsd -lrt jbe@25: .elif $(DISTRIBUTION) == "Ubuntu" jbe@16: # Default configuration for Ubuntu jbe@262: LUA_INCLUDE ?= /usr/include/lua5.3 jbe@16: LUA_LIBDIR ?= /usr/lib/x86_64-linux-gnu jbe@262: LUA_LIBRARY ?= lua5.3 jbe@16: UTIL_FLAGS ?= -ldl -lbsd jbe@16: .else jbe@16: # Default configuration for other Linux distributions jbe@0: LUA_INCLUDE ?= /usr/include jbe@0: LUA_LIBDIR ?= /usr/lib jbe@0: LUA_LIBRARY ?= lua jbe@0: UTIL_FLAGS ?= -ldl -lbsd jbe@16: .endif jbe@0: jbe@0: .else jbe@0: # Default configuration for other systems jbe@0: LUA_INCLUDE ?= /usr/include jbe@0: LUA_LIBDIR ?= /usr/lib jbe@0: LUA_LIBRARY ?= lua jbe@0: UTIL_FLAGS ?= -lutil jbe@0: jbe@0: .endif jbe@0: jbe@8: .ifdef MOONBR_LUA_PATH jbe@8: MOONBR_LUA_PATH_DEFINE = "-DMOONBR_LUA_PATH=\"$(MOONBR_LUA_PATH)\"" jbe@8: .endif jbe@8: jbe@9: .ifdef MOONBR_LUA_CPATH jbe@9: MOONBR_LUA_CPATH_DEFINE = "-DMOONBR_LUA_CPATH=\"$(MOONBR_LUA_CPATH)\"" jbe@9: .endif jbe@9: jbe@185: all:: moonbridge moonbridge_io.so jbe@79: jbe@79: moonbridge: moonbridge.c moonbridge_io.h moonbridge_io.o jbe@79: 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: jbe@139: moonbridge_io.o: moonbridge_io.c moonbridge_io.h jbe@79: cc -c -Wall -O2 -fPIC -I $(LUA_INCLUDE) -o moonbridge_io.o moonbridge_io.c jbe@79: jbe@79: moonbridge_io.so: moonbridge_io.o jbe@216: ld -shared -o moonbridge_io.so moonbridge_io.o $(UTIL_FLAGS) jbe@0: jbe@243: freebsd_with_tls:: jbe@243: #TODO jbe@262: 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 && ld -L/usr/local/lib -shared -o moonbridge_io.so moonbridge_io.o -lutil -ltls jbe@243: jbe@185: clean:: jbe@185: rm -f moonbridge moonbridge_io.o moonbridge_io.so jbe@139: