Prepare Makefile for integrating lua-5.1.1 into upx.

This commit is contained in:
Markus F.X.J. Oberhumer
2006-06-20 15:35:23 +02:00
parent e02d400bf6
commit a90027521d
+27 -2
View File
@@ -24,6 +24,7 @@ ifeq ($(USE_GNUC),1)
CXXFLAGS += -O2 -MMD
##CXXFLAGS += -O0 -g -MMD
CXXFLAGS += -Wall -W -Wcast-align -Wcast-qual -Wpointer-arith -Wwrite-strings -Werror
##CXXFLAGS += -Wshadow
endif
CPPFLAGS += $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
CXXLD ?= $(CXX)
@@ -32,6 +33,9 @@ exeext ?= .out
libext ?= .a
objext ?= .o
upx_SOURCES := $(wildcard $(srcdir)/*.cpp)
upx_OBJECTS := $(notdir $(upx_SOURCES:.cpp=$(objext)))
# we need UCL and zlib - you can set envvar UPX_UCLDIR
ifneq ($(wildcard $(UPX_UCLDIR)/include/ucl/ucl.h),)
INCLUDES += -I$(UPX_UCLDIR)/include
@@ -43,9 +47,19 @@ ifneq ($(wildcard $(UPX_LZMADIR)/C/7zip/.),)
DEFS += -DWITH_LZMA
INCLUDES += -I$(UPX_LZMADIR)
endif
# you should set envvar UPX_LUADIR to point to your unpacked lua-5.1.1.tar.gz
ifneq ($(wildcard $(UPX_LUADIR)/src/lua.h),)
DEFS += -DWITH_LUA
upx_SOURCES_LUA := $(wildcard $(UPX_LUADIR)/src/*.c)
upx_SOURCES_LUA := $(filter-out %lua.c, $(upx_SOURCES_LUA))
upx_SOURCES_LUA := $(filter-out %luac.c, $(upx_SOURCES_LUA))
upx_OBJECTS_LUA := $(notdir $(upx_SOURCES_LUA:.c=$(objext)))
upx_OBJECTS_LUA := $(addprefix lua_,$(upx_OBJECTS_LUA))
upx_OBJECTS += $(upx_OBJECTS_LUA)
else
##$(error please set UPX_LUADIR)
endif
upx_SOURCES := $(wildcard $(srcdir)/*.cpp)
upx_OBJECTS := $(notdir $(upx_SOURCES:.cpp=$(objext)))
all: upx$(exeext)
@@ -57,6 +71,10 @@ upx$(exeext): $(upx_OBJECTS) $(upx_DEPENDENCIES)
%.o : %.cpp
$(strip $(CXX) $(call e,CPPFLAGS) $(call e,CXXFLAGS) -o $@ -c $<)
$(upx_OBJECTS_LUA) : lua_%.o : $(UPX_LUADIR)/src/%.c
$(strip $(CXX) $(call e,CPPFLAGS) $(call e,CXXFLAGS) -o $@ -c $<)
ifeq ($(USE_GNUC),1)
##compress_lzma$(objext) : EXTRA_CXXFLAGS += -O3 -fomit-frame-pointer
compress_lzma$(objext) : EXTRA_CXXFLAGS += -Wno-cast-qual
@@ -66,6 +84,13 @@ compress_lzma$(objext) : EXTRA_CXXFLAGS += -Wno-unused
##compress_lzma$(objext) : EXTRA_CXXFLAGS += -Wno-error
endif
ifeq ($(USE_GNUC),1)
$(upx_OBJECTS_LUA) : EXTRA_CXXFLAGS += -Wno-cast-align
$(upx_OBJECTS_LUA) : EXTRA_CXXFLAGS += -Wno-cast-qual
$(upx_OBJECTS_LUA) : EXTRA_CXXFLAGS += -Wno-error
endif
mostlyclean clean distclean maintainer-clean:
rm -f *.d *.map *.o *.obj *.res upx.exe upx.out upx.ttp upx$(exeext)