# makefile for installing LuaSocket
# see INSTALL for installation instructions

include config

SCK_SO= luasocket
MIM_SO= luamime

# What to install.
TO_INC= luasocket.h luamime.h
TO_LIB= libluasocket.a libluamime.a 
TO_LUA=	ltn12.lua mime.lua socket
SO_LIB= lib$(SCK_SO).$(SV).so lib$(MIM_SO).$(MV).so

# Installation directories
INSTALL_DIR= $(INSTALL_INC) $(INSTALL_LIB) \
             $(INSTALL_LUA) $(INSTALL_CPK)

all clean a so:
	cd src; $(MAKE) $@

test:	all
	src/lua test/hello.lua

install: all $(INSTALL_DIR)
	cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
	cd src; $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
	cd src; $(INSTALL_EXEC) $(SO_LIB) $(INSTALL_LIB)
	cd lua; $(INSTALL_DATA) $(TO_LUA) $(INSTALL_LUA)
	cd $(INSTALL_LIB); ln -fs lib$(SCK_SO).$(SV).so lib$(SCK_SO).so
	cd $(INSTALL_LIB); ln -fs lib$(MIM_SO).$(MV).so lib$(MIM_SO).so
	cd $(INSTALL_CPK); ln -fs $(INSTALL_LIB)/lib$(SCK_SO).$(SV).so $(SCK_SO).so
	cd $(INSTALL_CPK); ln -fs $(INSTALL_LIB)/lib$(MIM_SO).$(MV).so $(MIM_SO).so

local:
	$(MAKE) install INSTALL_TOP=.. INSTALL_EXEC="cp -p" INSTALL_DATA="cp -p"

# create installation dirs
$(INSTALL_DIR):
	mkdir -p $@

env:
	@echo ""
	@echo "Add the following paths to the proper enviroment variables to set up LuaSocket $(SV):"
	@echo ""
	@echo "LUA_PATH  += ';$(INSTALL_LUA)/?.lua;$(INSTALL_LUA)/?/init.lua'"
	@echo "LUA_CPATH += ';$(INSTALL_CPK)/?.so'"
	@echo ""

# echo config parameters
echo:
	@echo ""
	@echo "These are the parameters currently set in src/Makefile to build LuaSocket $(SV):"
	@echo ""
	@cd src; $(MAKE) -s echo
	@echo ""
	@echo "These are the parameters currently set in Makefile to install LuaSocket $(SV):"
	@echo ""
	@echo "INSTALL_TOP = $(INSTALL_TOP)"
	@echo "INSTALL_INC = $(INSTALL_INC)"
	@echo "INSTALL_LIB = $(INSTALL_LIB)"
	@echo "INSTALL_LUA = $(INSTALL_LUA)"
	@echo "INSTALL_CPK = $(INSTALL_CPK)"
	@echo "INSTALL_EXEC = $(INSTALL_EXEC)"
	@echo "INSTALL_DATA = $(INSTALL_DATA)"
	@echo ""

# echo private config parameters
pecho:
	@echo "SV = $(SV)"
	@echo "MV = $(MV)"
	@echo "TO_INC = $(TO_INC)"
	@echo "TO_LIB = $(TO_LIB)"
	@echo "TO_LUA = $(TO_LUA)"
	@echo "SO_LIB = $(SO_LIB)"

# echo config parameters as LuaSocket code
# uncomment the last sed expression if you want nil instead of empty strings
lecho:
	@echo "-- installation parameters for LuaSocket $V"
	@echo "VERSION = '$V'"
	@$(MAKE) echo | grep = | sed -e 's/= /= "/' -e 's/$$/"/' #-e 's/""/nil/'
	@echo "-- EOF"

# show what has changed since we unpacked
newer:
	@find . -newer MANIFEST -type f

# (end of Makefile)
