# makefile for lua unicode strings library for Lua

# dist location
DISTDIR=$(HOME)/dist
TMP=/tmp

# change these to reflect your Lua installation
LUA= $(HOME)/lua
LUAINC= $(LUA)/include
LUALIB= $(LUA)/lib
LUABIN= $(LUA)/bin

# no need to change anything below here
SHFLAGS= #-fPIC
CFLAGS= $(INCS) $(DEFS) $(WARN) $(SHFLAGS) -O0
DEFS= #-DDEBUG
WARN= -Wall -Werror -g -std=c99 #-ansi -pedantic -Wall
INCS= -I$(LUAINC) #-I libutf8/include
LIBS= -L$(LUALIB) -llualib5 -llua5 #-L. -lutf8

MYNAME= ustring
MYLIB= l$(MYNAME)

OBJS= $(MYLIB).o

T= $(MYLIB).so

VER=0.1
TARFILE = $(DISTDIR)/$(MYLIB)-$(VER).tar.gz
TARFILES = \
	README Makefile \
	lustring.c \
	ustring.lua \
	test.lua requirelib.lua

all: $T

lua: lcurses.c lua.c
	gcc -I. -DDEBUG -g -o lua lua.c lcurses.c -L. -llualib -llua -lpanel -lcurses -lm -ldl

cui: $T
	$(LUABIN)/lua -l$(MYNAME) -l$(MYNAME).panel testcui.lua

test:	$T
	$(LUABIN)/lua test.lua

$T:	$(OBJS)
	$(CC) $(SHFLAGS) -o $@ -shared $(OBJS) $(LIBS)

lcurses.o: lcurses.c lpanel.c

clean:
	rm -f $(OBJS) $T core core.* a.out *.out *.luac

dist: $(TARFILE)

$(TARFILE): $(TARFILES)
	@ln -sf `pwd` $(TMP)/$(MYLIB)-$(VER)
	tar -zcvf $(TARFILE) -C $(TMP) $(addprefix $(MYLIB)-$(VER)/,$(TARFILES))
	@rm -f $(TMP)/$(MYLIB)-$(VER)
	@lsum $(TARFILE) $(DISTDIR)/md5sums.txt

%.luac: %.lua
	luac -l -o $@ $^ > $@.out

lcs: cui.luac cui.kbd.luac cui.ctrls.luac testcui.luac
