54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
# Makefile for Lua BitOp -- a bit operations library for Lua 5.1/5.2.
 | 
						|
# To compile with MSVC please run: msvcbuild.bat
 | 
						|
# To compile with MinGW please run: mingw32-make -f Makefile.mingw
 | 
						|
 | 
						|
# Include path where lua.h, luaconf.h and lauxlib.h reside:
 | 
						|
INCLUDES= -I/usr/local/include
 | 
						|
 | 
						|
DEFINES=
 | 
						|
# Use this for the old ARM ABI with swapped FPA doubles.
 | 
						|
# Do NOT use this for modern ARM EABI with VFP or soft-float!
 | 
						|
#DEFINES= -DSWAPPED_DOUBLE
 | 
						|
 | 
						|
# Lua executable name. Used to find the install path and for testing.
 | 
						|
LUA= lua
 | 
						|
 | 
						|
CC= gcc
 | 
						|
CCOPT= -O2 -fomit-frame-pointer
 | 
						|
CCWARN= -Wall
 | 
						|
SOCC= $(CC) -shared
 | 
						|
SOCFLAGS= -fPIC $(CCOPT) $(CCWARN) $(DEFINES) $(INCLUDES) $(CFLAGS)
 | 
						|
SOLDFLAGS= -fPIC $(LDFLAGS)
 | 
						|
RM= rm -f
 | 
						|
INSTALL= install -p
 | 
						|
INSTALLPATH= $(LUA) installpath.lua
 | 
						|
 | 
						|
MODNAME= bit
 | 
						|
MODSO= $(MODNAME).so
 | 
						|
 | 
						|
all: $(MODSO)
 | 
						|
 | 
						|
# Alternative target for compiling on Mac OS X:
 | 
						|
macosx:
 | 
						|
	$(MAKE) all "SOCC=MACOSX_DEPLOYMENT_TARGET=10.4 $(CC) -dynamiclib -single_module -undefined dynamic_lookup"
 | 
						|
 | 
						|
$(MODNAME).o: $(MODNAME).c
 | 
						|
	$(CC) $(SOCFLAGS) -c -o $@ $<
 | 
						|
 | 
						|
$(MODSO): $(MODNAME).o
 | 
						|
	$(SOCC) $(SOLDFLAGS) -o $@ $<
 | 
						|
 | 
						|
install: $(MODSO)
 | 
						|
	$(INSTALL) $< `$(INSTALLPATH) $(MODNAME)`
 | 
						|
 | 
						|
test: $(MODSO)
 | 
						|
	@$(LUA) bittest.lua && echo "basic test OK"
 | 
						|
	@$(LUA) nsievebits.lua && echo "nsievebits test OK"
 | 
						|
	@$(LUA) md5test.lua && echo "MD5 test OK"
 | 
						|
 | 
						|
clean:
 | 
						|
	$(RM) *.o *.so *.obj *.lib *.exp *.dll *.manifest
 | 
						|
 | 
						|
.PHONY: all macosx install test clean
 | 
						|
 |