98 lines
2.0 KiB
Makefile
98 lines
2.0 KiB
Makefile
# Makefile for win32api library for Lua
|
|
|
|
ifneq "$(shell pkg-config --version)" ""
|
|
# automagic setup (OS X fink, Linux apt-get, ..)
|
|
#
|
|
LUAINC= $(shell pkg-config --cflags lua5.1)
|
|
LUALIB= $(shell pkg-config --libs lua5.1)
|
|
else
|
|
# manual setup (change these to reflect your Lua installation)
|
|
#
|
|
BASE= /usr/local
|
|
LUAINC= -I$(BASE)/include
|
|
LUALIB=
|
|
# Windows' LUALIB is the same as the Lua executable's directory...
|
|
# LUALIB= -L$(BASE)/bin -llua51
|
|
#
|
|
POD2HTML= perl -x -S doc/pod2html.pl
|
|
endif
|
|
|
|
LUAEXE= lua5.1
|
|
|
|
INSTALL= install -p
|
|
INSTALLPATH= $(LUAEXE) installpath.lua
|
|
|
|
TMP=./tmp
|
|
DISTDIR=./archive
|
|
|
|
# OS detection
|
|
#
|
|
SHFLAGS=-shared
|
|
UNAME= $(shell uname)
|
|
ifeq "$(UNAME)" "Linux"
|
|
_SO=so
|
|
SHFLAGS=-shared -fPIC
|
|
endif
|
|
ifneq "" "$(findstring BSD,$(UNAME))"
|
|
_SO=so
|
|
endif
|
|
ifneq "" "$(findstring MINGW64,$(UNAME))"
|
|
_SO=dll
|
|
endif
|
|
ifneq "" "$(findstring MINGW32,$(UNAME))"
|
|
_SO=dll
|
|
endif
|
|
ifeq "$(UNAME)" "Darwin"
|
|
_SO=so
|
|
SHFLAGS=-fPIC -arch i686 -arch x86_64
|
|
SOFLAGS=-dynamiclib -single_module -undefined dynamic_lookup -arch i686 -arch x86_64
|
|
endif
|
|
ifneq "" "$(findstring msys,$(OSTYPE))" # 'msys'
|
|
_SO=dll
|
|
endif
|
|
|
|
ifndef _SO
|
|
$(error $(UNAME))
|
|
$(error Unknown OS)
|
|
endif
|
|
|
|
# no need to change anything below here - HAH!
|
|
CFLAGS= $(INCS) $(DEFS) $(WARN) -O2 -fomit-frame-pointer $(SHFLAGS)
|
|
WARN= -Wall #-ansi -pedantic -Wall
|
|
INCS= $(LUAINC)
|
|
LIBS= $(LUALIB) -lpsapi -lMpr
|
|
|
|
MYNAME= winapi
|
|
MYLIB= $(MYNAME)
|
|
|
|
VER=$(shell svnversion -c . | sed 's/.*://')
|
|
TARFILE = $(DISTDIR)/$(MYLIB)-$(VER).tar.gz
|
|
|
|
OBJS= $(MYLIB).o wutils.o
|
|
T= $(MYLIB).$(_SO)
|
|
|
|
all: $(T)
|
|
|
|
$(T): $(OBJS)
|
|
$(CC) $(SHFLAGS) $(SOFLAGS) -o $@ $(OBJS) $(LIBS)
|
|
|
|
install: $(T)
|
|
$(INSTALL) $< `$(INSTALLPATH) $(MYLIB)`
|
|
|
|
clean:
|
|
rm -f $(OBJS) $T core core.* a.out
|
|
|
|
dist: html
|
|
echo 'Exporting...'
|
|
mkdir -p $(TMP)
|
|
mkdir -p $(DISTDIR)
|
|
svn export . $(TMP)/$(MYLIB)-$(VER)
|
|
mkdir -p $(TMP)/$(MYLIB)-$(VER)/doc
|
|
cp -p doc/lsqlite3.html $(TMP)/$(MYLIB)-$(VER)/doc
|
|
echo 'Compressing...'
|
|
tar -zcf $(TARFILE) -C $(TMP) $(MYLIB)-$(VER)
|
|
rm -fr $(TMP)/$(MYLIB)-$(VER)
|
|
echo 'Done.'
|
|
|
|
.PHONY: all test clean dist install
|