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@0: LUA_INCLUDE ?= /usr/local/include/lua52 jbe@0: LUA_LIBDIR ?= /usr/local/lib jbe@0: LUA_LIBRARY ?= lua-5.2 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@25: LUA_INCLUDE ?= /usr/include/lua5.2 jbe@25: LUA_LIBDIR ?= /usr/lib jbe@25: LUA_LIBRARY ?= lua5.2 jbe@25: UTIL_FLAGS ?= -ldl -lbsd -lrt jbe@25: .elif $(DISTRIBUTION) == "Ubuntu" jbe@16: # Default configuration for Ubuntu jbe@16: LUA_INCLUDE ?= /usr/include/lua5.2 jbe@16: LUA_LIBDIR ?= /usr/lib/x86_64-linux-gnu jbe@16: LUA_LIBRARY ?= lua5.2 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@139: all:: moonbridge moonbridge_io.so moonbridge_websocket.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@79: ld -shared -o moonbridge_io.so moonbridge_io.o jbe@0: jbe@139: moonbridge_websocket.o: moonbridge_websocket.c jbe@139: cc -c -Wall -O2 -fPIC -I $(LUA_INCLUDE) -o moonbridge_websocket.o moonbridge_websocket.c jbe@139: jbe@139: moonbridge_websocket.so: moonbridge_websocket.o jbe@139: ld -shared -o moonbridge_websocket.so -lmd moonbridge_websocket.o jbe@139: jbe@0: clean:: jbe@147: rm -f moonbridge moonbridge_io.o moonbridge_io.so moonbridge_websocket.o moonbridge_websocket.so jbe@0: