summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReuben Thomas <rrt@sc3d.org>2013-01-10 23:59:11 +0000
committerReuben Thomas <rrt@sc3d.org>2013-01-10 23:59:11 +0000
commit18bace7048eb7778447e25db9eeb14c3fc7adf0d (patch)
tree5c34e6b7e247fdd3edc3d95bf580ef85479a4cb4
parent82dba4bdcf1a9271854ddd8ed4f086ca14e37f32 (diff)
downloadlrexlib-18bace7048eb7778447e25db9eeb14c3fc7adf0d.tar.gz
Re-add mingw makefiles.
-rw-r--r--windows/mingw/Makefile26
-rw-r--r--windows/mingw/_mingw.mak64
-rw-r--r--windows/mingw/docs.mak13
-rw-r--r--windows/mingw/rex_gnu.mak18
-rw-r--r--windows/mingw/rex_onig.mak19
-rw-r--r--windows/mingw/rex_pcre.mak19
-rw-r--r--windows/mingw/rex_spencer.mak18
-rw-r--r--windows/mingw/rex_tre.mak26
8 files changed, 203 insertions, 0 deletions
diff --git a/windows/mingw/Makefile b/windows/mingw/Makefile
new file mode 100644
index 0000000..e3efb9d
--- /dev/null
+++ b/windows/mingw/Makefile
@@ -0,0 +1,26 @@
+# Makefile for lrexlib
+
+MKFILES = \
+ rex_gnu.mak \
+ rex_onig.mak \
+ rex_pcre.mak \
+ rex_spencer.mak \
+ rex_tre.mak
+
+LOOP = @for %%d in ($(MKFILES)) do $(MAKE) -f %%d
+
+all: build test
+
+build:
+ $(LOOP)
+
+test:
+ $(LOOP) test
+
+install:
+ $(LOOP) install
+
+clean:
+ del *.o *.def *.dll
+
+.PHONY: all build test install clean
diff --git a/windows/mingw/_mingw.mak b/windows/mingw/_mingw.mak
new file mode 100644
index 0000000..9d56927
--- /dev/null
+++ b/windows/mingw/_mingw.mak
@@ -0,0 +1,64 @@
+# Use with GNU Make.
+
+# User Settings ------------------------------------------------------------
+
+# Target Lua version (51 for Lua 5.1; 52 for Lua 5.2).
+LUAVERSION = 51
+
+# INSTALLPATH : Path to install the built DLL.
+# LUADLL : Name of Lua DLL to link to (.dll should be omitted).
+# LUAEXE : Name of Lua interpreter.
+# LUAINC : Path of Lua include files.
+
+ifeq ($(LUAVERSION),51)
+ INSTALLPATH = s:\exe\lib32\lua51
+ LUADLL = lua5.1
+ LUAEXE = lua.exe
+ LUAINC = s:\progr\work\system\include\lua51
+ MYCFLAGS += -DREX_CREATEGLOBALVAR
+else
+ INSTALLPATH = s:\exe\lib32\lua52
+ LUADLL = lua52
+ LUAEXE = lua52.exe
+ LUAINC = s:\progr\work\system\include\lua52
+# MYCFLAGS += -DREX_CREATEGLOBALVAR
+endif
+
+# --------------------------------------------------------------------------
+
+BIN = $(PROJECT).dll
+BININSTALL = $(INSTALLPATH)\$(BIN)
+CC = gcc
+CFLAGS = -W -Wall -O2 $(INCS) -DREX_OPENLIB=luaopen_$(PROJECT) \
+ -DREX_LIBNAME=\"$(PROJECT)\" $(MYCFLAGS)
+DEFFILE = $(PROJECT).def
+EXPORTED = luaopen_$(PROJECT)
+INCS = -I$(LUAINC) $(MYINCS)
+LIBS = -l$(LUADLL) $(MYLIBS) -s
+SRCPATH = ..\..\src
+TESTPATH = ..\..\test
+
+.PHONY: all install test clean
+
+vpath %.c $(SRCPATH);$(SRCPATH)\$(PROJDIR)
+vpath %.h $(SRCPATH);$(SRCPATH)\$(PROJDIR)
+
+all: $(BIN)
+
+clean:
+ del $(OBJ) $(BIN) $(DEFFILE)
+
+install: $(BININSTALL)
+
+test:
+ cd $(TESTPATH) && $(LUAEXE) runtest.lua $(TESTNAME) -d$(CURDIR)
+
+$(BIN): $(OBJ) $(DEFFILE)
+ $(CC) $(DEFFILE) $(OBJ) $(LIBS) -o $@ -shared
+
+$(DEFFILE):
+ echo EXPORTS > $@
+ for %%d in ($(EXPORTED)) do echo %%d>> $@
+
+$(BININSTALL): $(BIN)
+ copy /Y $< $@
diff --git a/windows/mingw/docs.mak b/windows/mingw/docs.mak
new file mode 100644
index 0000000..7c813aa
--- /dev/null
+++ b/windows/mingw/docs.mak
@@ -0,0 +1,13 @@
+# Documentation Makefile
+
+APP = rst2html.py
+CP = "copy /y"
+RM = del
+IDX = ..\README.rst
+
+ALLVAR = APP=$(APP) CP=$(CP) RM=$(RM) IDX=$(IDX)
+
+.PHONY: all clean
+
+all clean:
+ cd ..\..\doc && $(MAKE) $(ALLVAR) $@
diff --git a/windows/mingw/rex_gnu.mak b/windows/mingw/rex_gnu.mak
new file mode 100644
index 0000000..fb17a5c
--- /dev/null
+++ b/windows/mingw/rex_gnu.mak
@@ -0,0 +1,18 @@
+# Project: rex_gnu
+
+# User Settings ------------------------------------------------------------
+# path of GNU include files
+REGEXINC = s:\progr\work\system\include\gnuregex
+# --------------------------------------------------------------------------
+
+PROJECT = rex_gnu
+MYINCS = -I$(REGEXINC)
+MYLIBS = -lregex2
+OBJ = lgnu.o common.o
+PROJDIR = gnu
+TESTNAME = gnu
+
+include _mingw.mak
+
+lgnu.o : common.h algo.h
+common.o : common.h
diff --git a/windows/mingw/rex_onig.mak b/windows/mingw/rex_onig.mak
new file mode 100644
index 0000000..4e9f5f7
--- /dev/null
+++ b/windows/mingw/rex_onig.mak
@@ -0,0 +1,19 @@
+# Project: rex_onig
+
+# User Settings ------------------------------------------------------------
+# path of Oniguruma include files
+REGEXINC = s:\progr\work\system\include
+# --------------------------------------------------------------------------
+
+PROJECT = rex_onig
+MYINCS = -I$(REGEXINC)
+MYLIBS = -lonig -Wl,--enable-auto-import
+OBJ = lonig.o lonig_f.o common.o
+PROJDIR = oniguruma
+TESTNAME = onig
+
+include _mingw.mak
+
+lonig.o : common.h algo.h
+lonig_f.o : common.h
+common.o : common.h
diff --git a/windows/mingw/rex_pcre.mak b/windows/mingw/rex_pcre.mak
new file mode 100644
index 0000000..b6d34ce
--- /dev/null
+++ b/windows/mingw/rex_pcre.mak
@@ -0,0 +1,19 @@
+# Project: rex_pcre
+
+# User Settings ------------------------------------------------------------
+# path of PCRE include files
+REGEXINC = s:\progr\work\system\include
+# --------------------------------------------------------------------------
+
+PROJECT = rex_pcre
+MYINCS = -I$(REGEXINC)
+MYLIBS = -lpcre
+OBJ = lpcre.o lpcre_f.o common.o
+PROJDIR = pcre
+TESTNAME = pcre
+
+include _mingw.mak
+
+lpcre.o : common.h algo.h
+lpcre_f.o : common.h
+common.o : common.h
diff --git a/windows/mingw/rex_spencer.mak b/windows/mingw/rex_spencer.mak
new file mode 100644
index 0000000..fb82f0c
--- /dev/null
+++ b/windows/mingw/rex_spencer.mak
@@ -0,0 +1,18 @@
+# Project: rex_spencer
+
+# User Settings ------------------------------------------------------------
+# path of Spencer's include files
+REGEXINC = s:\progr\work\system\include\rxspencer
+# --------------------------------------------------------------------------
+
+PROJECT = rex_spencer
+MYINCS = -I$(REGEXINC)
+MYLIBS = -lrxspencer
+OBJ = lposix.o common.o
+PROJDIR = posix
+TESTNAME = spencer
+
+include _mingw.mak
+
+lposix.o : common.h algo.h
+common.o : common.h
diff --git a/windows/mingw/rex_tre.mak b/windows/mingw/rex_tre.mak
new file mode 100644
index 0000000..de7c5a3
--- /dev/null
+++ b/windows/mingw/rex_tre.mak
@@ -0,0 +1,26 @@
+# Project: rex_tre
+
+# User Settings ------------------------------------------------------------
+# path of TRE include files
+REGEXINC = s:\progr\work\system\include
+# --------------------------------------------------------------------------
+
+PROJECT = rex_tre
+MYINCS = -I$(REGEXINC)
+MYLIBS = -ltre
+OBJ = ltre.o common.o
+PROJDIR = tre
+TESTNAME = tre
+
+# Uncomment the following line to add wide-character functions (in alpha state).
+# ADDWIDECHARFUNCS = 1
+ifdef ADDWIDECHARFUNCS
+ OBJ += ltre_w.o
+ MYCFLAGS += -DREX_ADDWIDECHARFUNCS
+endif
+
+include _mingw.mak
+
+ltre.o : common.h algo.h
+ltre_w.o : common.h algo.h
+common.o : common.h