PACKAGE   = luatar
MODULE    = ltar
SCRIPT    = tar.lua
VERSION   = 0.0

LIBTAR    = libtar-1.2.11

SRCS      = tar.c compress.c aux.c
HDRS      = tar.h
EXTRA     = $(LIBTAR).tar test.lua $(wildcard COPYING.*) README

OBJS      = $(SRCS:.c=.o)
DEPS      = $(SRCS:.c=.d)

CC        = gcc
CFLAGS    = -O2 -Wall
LDFLAGS   = -s
LIBS      = 
DLEXT     = so

INSTALL      = install
INSTALL_EXEC = $(INSTALL) -m 755
INSTALL_DATA = $(INSTALL) -m 644

LUA=lua
LUA_CDIR = $(shell lua-config --pkglibdir)
LUA_LDIR = $(shell lua-config --pkgdatadir)

ifeq ($(DEBUG),0)
else
CFLAGS += -DDEBUG
endif

ifeq ($(USE_BZIP2),0)
else
CFLAGS += -DUSE_BZIP2
LIBS   += -lbz2
endif

ifeq ($(USE_GZIP),0)
else
CFLAGS += -DUSE_GZIP
LIBS   += -lz
endif

#ifeq ($(USE_LZO),1)
#CFLAGS += -DUSE_LZO
#LIBS   += 
#endif

ifeq ($(HAVE_LIBTAR),1)
LIBS   += -ltar
else
LIBTAR_LIB = $(LIBTAR)/lib/libtar.a
CFLAGS += -I$(LIBTAR)/lib
LIBS   += $(LIBTAR_LIB)
endif


all: $(MODULE).$(DLEXT)

clean:
	@rm -vf $(OBJS)
	@rm -vf $(DEPS)
	@rm -vf $(wildcard *.$(DLEXT))
	@rm -vf $(wildcard *~)
	@rm -rf libtar-1.2.11

install:
	mkdir -p $(LUA_CDIR)
	$(INSTALL_EXEC) $(MODULE).$(DLEXT) $(LUA_CDIR)/
	$(INSTALL_DATA) $(SCRIPT)          $(LUA_LDIR)/

depend: $(DEPS)

$(MODULE).$(DLEXT): $(LIBTAR_LIB) $(OBJS)
	$(CC) $(LDFLAGS) -shared -o $(MODULE).$(DLEXT) $(OBJS) $(LIBS)

$(LIBTAR_LIB):
	@tar -xf $(LIBTAR).tar
	cd $(LIBTAR) ; ./configure --without-zlib --disable-epkg-install CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ; cd lib ; make

test: $(MODULE).$(DLEXT)
	lua test.lua

dist:
	mkdir $(PACKAGE)-$(VERSION)
	files="Makefile config.lua $(SRCS) $(HDRS) $(EXTRA) $(SCRIPT)"; for f in $$files; do \
		[ -f "$$f" ] && cp -a $$f $(PACKAGE)-$(VERSION)/; \
	done; \
	tar cvfz $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION); \
	rm -rf $(PACKAGE)-$(VERSION)

$(OBJS): Makefile $(SRCS) $(HDRS)

%.d: %.c
	@$(CC) $(CFLAGS) -MM $< > $@


-include dummy $(wildcard *.d)
