diff options
author | Reuben Thomas <rrt@sc3d.org> | 2013-01-10 23:59:11 +0000 |
---|---|---|
committer | Reuben Thomas <rrt@sc3d.org> | 2013-01-10 23:59:11 +0000 |
commit | 18bace7048eb7778447e25db9eeb14c3fc7adf0d (patch) | |
tree | 5c34e6b7e247fdd3edc3d95bf580ef85479a4cb4 | |
parent | 82dba4bdcf1a9271854ddd8ed4f086ca14e37f32 (diff) | |
download | lrexlib-18bace7048eb7778447e25db9eeb14c3fc7adf0d.tar.gz |
Re-add mingw makefiles.
-rw-r--r-- | windows/mingw/Makefile | 26 | ||||
-rw-r--r-- | windows/mingw/_mingw.mak | 64 | ||||
-rw-r--r-- | windows/mingw/docs.mak | 13 | ||||
-rw-r--r-- | windows/mingw/rex_gnu.mak | 18 | ||||
-rw-r--r-- | windows/mingw/rex_onig.mak | 19 | ||||
-rw-r--r-- | windows/mingw/rex_pcre.mak | 19 | ||||
-rw-r--r-- | windows/mingw/rex_spencer.mak | 18 | ||||
-rw-r--r-- | windows/mingw/rex_tre.mak | 26 |
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 |