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 += -O2 -MMD
##CXXFLAGS += -O0 -g -MMD ##CXXFLAGS += -O0 -g -MMD
CXXFLAGS += -Wall -W -Wcast-align -Wcast-qual -Wpointer-arith -Wwrite-strings -Werror CXXFLAGS += -Wall -W -Wcast-align -Wcast-qual -Wpointer-arith -Wwrite-strings -Werror
##CXXFLAGS += -Wshadow
endif endif
CPPFLAGS += $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) CPPFLAGS += $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
CXXLD ?= $(CXX) CXXLD ?= $(CXX)
@@ -32,6 +33,9 @@ exeext ?= .out
libext ?= .a libext ?= .a
objext ?= .o 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 # we need UCL and zlib - you can set envvar UPX_UCLDIR
ifneq ($(wildcard $(UPX_UCLDIR)/include/ucl/ucl.h),) ifneq ($(wildcard $(UPX_UCLDIR)/include/ucl/ucl.h),)
INCLUDES += -I$(UPX_UCLDIR)/include INCLUDES += -I$(UPX_UCLDIR)/include
@@ -43,9 +47,19 @@ ifneq ($(wildcard $(UPX_LZMADIR)/C/7zip/.),)
DEFS += -DWITH_LZMA DEFS += -DWITH_LZMA
INCLUDES += -I$(UPX_LZMADIR) INCLUDES += -I$(UPX_LZMADIR)
endif 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) all: upx$(exeext)
@@ -57,6 +71,10 @@ upx$(exeext): $(upx_OBJECTS) $(upx_DEPENDENCIES)
%.o : %.cpp %.o : %.cpp
$(strip $(CXX) $(call e,CPPFLAGS) $(call e,CXXFLAGS) -o $@ -c $<) $(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) ifeq ($(USE_GNUC),1)
##compress_lzma$(objext) : EXTRA_CXXFLAGS += -O3 -fomit-frame-pointer ##compress_lzma$(objext) : EXTRA_CXXFLAGS += -O3 -fomit-frame-pointer
compress_lzma$(objext) : EXTRA_CXXFLAGS += -Wno-cast-qual 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 ##compress_lzma$(objext) : EXTRA_CXXFLAGS += -Wno-error
endif 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: mostlyclean clean distclean maintainer-clean:
rm -f *.d *.map *.o *.obj *.res upx.exe upx.out upx.ttp upx$(exeext) rm -f *.d *.map *.o *.obj *.res upx.exe upx.out upx.ttp upx$(exeext)