📄 makefile
字号:
## UPX Makefile - needs GNU make 3.81 or better#MAKEFLAGS += -rR.SUFFIXES:export SHELL = /bin/shoverride e = $($1) $(EXTRA_$1) $(upx_$1) $($(basename $(notdir $@)).$1)ifneq ($(findstring $(firstword $(MAKE_VERSION)),3.77 3.78 3.78.1 3.79 3.79.1 3.80),)$(error GNU make 3.81 or better is required)endififndef srcdirsrcdir := $(dir $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)))srcdir := $(shell echo '$(srcdir)' | sed 's,/*$$,,')endififndef top_srcdirtop_srcdir := $(srcdir)/..endifinclude $(wildcard $(top_srcdir)/Makevars.global ./Makevars.local)ifneq ($(srcdir),.)##$(info Info: using VPATH . $(srcdir))VPATH := . $(srcdir)endififeq ($(CXX),)CXX = g++endififneq ($(findstring $(firstword $(CXX)),g++),)USE_GNUC ?= 1endififeq ($(USE_GNUC),1)ifeq ($(DEBUG),1)CXXFLAGS += -O0 -gelseCXXFLAGS += -O2endifCXXFLAGS += -Wall -W -Wcast-align -Wcast-qual -Wpointer-arith -Wwrite-strings -Werror##CXXFLAGS += -WshadowendifCPPFLAGS += $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)CXXLD ?= $(CXX)exeext ?= .outlibext ?= .aobjext ?= .oupx_SOURCES := $(wildcard $(srcdir)/*.cpp)upx_OBJECTS := $(notdir $(upx_SOURCES:.cpp=$(objext)))# we need UCL and zlib - you can set envvar UPX_UCLDIRifneq ($(wildcard $(UPX_UCLDIR)/include/ucl/ucl.h),)INCLUDES += -I$(UPX_UCLDIR)/includeLIBS += $(addprefix -L,$(dir $(wildcard $(UPX_UCLDIR)/libucl$(libext) $(UPX_UCLDIR)/src/.libs/libucl$(libext))))endifLIBS += -lucl -lz# you should set envvar UPX_LZMADIR to point to your unpacked LZMA SDKinclude $(top_srcdir)/src/stub/src/c/Makevars.lzmaifneq ($(UPX_LZMA_VERSION),)DEFS += -DWITH_LZMA=$(UPX_LZMA_VERSION)INCLUDES += -I$(UPX_LZMADIR)endifall: upx$(exeext) | .depend.DELETE_ON_ERROR: upx$(exeext) $(upx_OBJECTS) .dependupx$(exeext): $(upx_OBJECTS) $(upx_DEPENDENCIES) $($(notdir $@).PRE_LINK_STEP) $(strip $(CXXLD) $(call e,CPPFLAGS) $(call e,CXXFLAGS) $(call e,LDFLAGS) -o $@ $(upx_OBJECTS) $(call e,LDADD) $(call e,LIBS)) $($(notdir $@).POST_LINK_STEP)%.o : %.cpp | .depend $(strip $(CXX) $(call e,CPPFLAGS) $(call e,CXXFLAGS) -o $@ -c $<).depend: $(wildcard $(srcdir)/*.cpp $(srcdir)/*.h) $(MAKEFILE_LIST) @rm -f $@ifeq ($(USE_GNUC),1) @echo "Updating $@" @$(strip $(CXX) $(call e,CPPFLAGS) -MM) $(filter %.cpp,$^) > $@else touch $@endififeq ($(USE_GNUC),1)##compress_lzma$(objext) : CXXFLAGS += -O3 -fomit-frame-pointercompress_lzma$(objext) : CXXFLAGS += -Wno-cast-qualcompress_lzma$(objext) : CXXFLAGS += -Wno-shadowifeq ($(UPX_LZMA_VERSION),0x443)compress_lzma$(objext) : CXXFLAGS += -Wno-non-virtual-dtorcompress_lzma$(objext) : CXXFLAGS += -Wno-unusedendif# needed for gcc-4.3:compress_lzma$(objext) : CXXFLAGS += -Wno-errorendifmostlyclean clean distclean maintainer-clean: rm -f *.d *.map *.o *.obj *.res .depend upx.exe upx.out upx.ttp upx$(exeext).PHONY: all mostlyclean clean distclean maintainer-cleanifeq ($(MAKECMDGOALS),mostlyclean)else ifeq ($(MAKECMDGOALS),clean)else ifeq ($(MAKECMDGOALS),distclean)else ifeq ($(MAKECMDGOALS),maintainer-clean)else-include .dependendif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -