From a90027521dc142d7c6540a452efe07e4ee7445e8 Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Tue, 20 Jun 2006 15:35:23 +0200 Subject: [PATCH] Prepare Makefile for integrating lua-5.1.1 into upx. --- src/Makefile | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/Makefile b/src/Makefile index bedb5ed8..76baa8fa 100644 --- a/src/Makefile +++ b/src/Makefile @@ -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)