1# Makefile for Lua BitOp -- a bit operations library for Lua 5.1/5.2.
2# This is a modified Makefile for MinGW. C:\MinGW\bin must be in your PATH.
3# Compile: mingw32-make -f Makefile.mingw
4# Install: mingw32-make -f Makefile.mingw install
5
6# Lua executable name. Used for testing.
7LUA= lua
8
9# Include path where lua.h, luaconf.h and lauxlib.h reside:
10INCLUDES= "-I.."
11
12# Path of lua51.dll:
13LUADLLPATH= "..\lua51.dll"
14
15# Path where C modules for Lua should be installed:
16LUACMODPATH= ".."
17
18CC= gcc
19CCOPT= -O2 -fomit-frame-pointer
20CCWARN = -Wall
21SOCC= $(CC) -shared
22SOCFLAGS= $(CCOPT) $(CCWARN) $(INCLUDES) $(CFLAGS)
23SOLDFLAGS= $(LDFLAGS)
24RM= del
25STRIP= strip --strip-unneeded
26INSTALL= copy
27
28MODNAME= bit
29MODSO= $(MODNAME).dll
30
31all: $(MODSO)
32
33$(MODNAME).o: $(MODNAME).c
34	$(CC) $(SOCFLAGS) -c -o $@ $<
35
36$(MODSO): $(MODNAME).o
37	$(SOCC) $(SOLDFLAGS) -o $@ $< $(LUADLLPATH)
38	$(STRIP) $@
39
40install: $(MODSO)
41	$(INSTALL) $< $(LUACMODPATH)
42
43test: $(MODSO)
44	@$(LUA) bittest.lua && echo "basic test OK"
45	@$(LUA) nsievebits.lua && echo "nsievebits test OK"
46	@$(LUA) md5test.lua && echo "MD5 test OK"
47
48clean:
49	$(RM) *.o *.so *.obj *.lib *.exp *.dll *.manifest
50
51.PHONY: all install test clean
52
53