Assorted cleanups.
This commit is contained in:
+3
-3
@@ -21,8 +21,8 @@ ifeq ($(firstword $(CXX)),g++)
|
||||
USE_GNUC ?= 1
|
||||
endif
|
||||
ifeq ($(USE_GNUC),1)
|
||||
#CXXFLAGS += -O2 -MMD
|
||||
CXXFLAGS += -g -MMD
|
||||
CXXFLAGS += -O2 -MMD
|
||||
##CXXFLAGS += -O0 -g -MMD
|
||||
CXXFLAGS += -Wall -W -Wcast-align -Wcast-qual -Wpointer-arith -Wwrite-strings -Werror
|
||||
endif
|
||||
CPPFLAGS += $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
|
||||
@@ -39,7 +39,7 @@ LIBS += $(addprefix -L,$(dir $(wildcard $(UPX_UCLDIR)/libucl$(libext) $(UPX_UCLD
|
||||
endif
|
||||
LIBS += -lucl -lz
|
||||
# you should set envvar UPX_LZMADIR to point to your unpacked lzma443.tar.bz2
|
||||
ifneq ($(wildcard $(UPX_LZMADIR)/C/7zip),)
|
||||
ifneq ($(wildcard $(UPX_LZMADIR)/C/7zip/.),)
|
||||
DEFS += -DWITH_LZMA
|
||||
INCLUDES += -I$(UPX_LZMADIR)
|
||||
endif
|
||||
|
||||
+30
-24
@@ -17,10 +17,10 @@ $(error GNU make 3.81 or better is required)
|
||||
endif
|
||||
|
||||
# update $PATH for our special stub build tools
|
||||
ifneq ($(wildcard $(HOME)/local/bin/bin-upx),)
|
||||
ifneq ($(wildcard $(HOME)/local/bin/bin-upx/.),)
|
||||
export PATH := $(HOME)/local/bin/bin-upx:$(PATH)
|
||||
endif
|
||||
ifneq ($(wildcard $(HOME)/bin/bin-upx),)
|
||||
ifneq ($(wildcard $(HOME)/bin/bin-upx/.),)
|
||||
export PATH := $(HOME)/bin/bin-upx:$(PATH)
|
||||
endif
|
||||
|
||||
@@ -72,14 +72,19 @@ STUBS += powerpc-linux.elf-entry.h
|
||||
STUBS += powerpc-linux.elf-fold.h
|
||||
|
||||
|
||||
ifndef default.targets
|
||||
ifeq ($(wildcard .all-stamp),)
|
||||
default:
|
||||
default.targets =
|
||||
default: $(default.targets)
|
||||
@echo "UPX info: type 'make all' if you have all the required build tools."
|
||||
else
|
||||
default: all
|
||||
default.targets = all
|
||||
default: $(default.targets)
|
||||
endif
|
||||
endif
|
||||
|
||||
all: tmp/.tmp-stamp .all-stamp
|
||||
all.targets ?= tmp/.tmp-stamp .all-stamp
|
||||
all: $(all.targets)
|
||||
tmp/.tmp-stamp:
|
||||
@mkdir -p $(dir $@)
|
||||
@echo "timestamp" > $@
|
||||
@@ -120,6 +125,7 @@ tc.default.nasm += -I$(srcdir)/ -I$(srcdir)/src/
|
||||
tc.default.nasm += -O99 -w+macro-params -w+macro-selfref -w+number-overflow -w+orphan-labels
|
||||
tc.default.pp-asm = i386-linux-gcc-2.95.3 -E -nostdinc -x assembler-with-cpp -Wall -Wp,-P,-C,-traditional
|
||||
tc.default.pp-nasm = $(tc.default.gpp_inc) --mode=nasm -I$(srcdir)/ -I$(srcdir)/src/
|
||||
tc.default.readelf = readelf
|
||||
tc.default.sstrip = sstrip
|
||||
|
||||
# some common settings for $(tc_list)
|
||||
@@ -242,7 +248,7 @@ i086-dos16.com% : tc_list = i086 default
|
||||
i086-dos16.com.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) --MMD=$@ $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,nasm) -f bin -l tmp/$T.bin.lst tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv2b_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
@@ -255,7 +261,7 @@ i086-dos16.exe% : tc_list = i086 default
|
||||
i086-dos16.exe.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) --MMD=$@ $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,nasm) -f bin -l tmp/$T.bin.lst tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
@@ -268,7 +274,7 @@ i086-dos16.sys% : tc_list = i086 default
|
||||
i086-dos16.sys.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) --MMD=$@ $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,nasm) -f bin -l tmp/$T.bin.lst tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv2b_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
@@ -281,7 +287,7 @@ i386-dos32.djgpp2% : tc_list = i386 default
|
||||
i386-dos32.djgpp2.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) --MMD=$@ $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,nasm) -f bin -l tmp/$T.bin.lst tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader tmp/$T.bin $@
|
||||
|
||||
i386-dos32.djgpp2-stubify.h : $(srcdir)/src/$$T.asm
|
||||
@@ -298,7 +304,7 @@ i386-dos32.tmt% : tc_list = i386 default
|
||||
i386-dos32.tmt.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) --MMD=$@ $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,nasm) -f bin -l tmp/$T.bin.lst tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
@@ -311,7 +317,7 @@ i386-dos32.watcom.le% : tc_list = i386 default
|
||||
i386-dos32.watcom.le.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) --MMD=$@ $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,nasm) -f bin -l tmp/$T.bin.lst tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
@@ -337,7 +343,7 @@ tc.i386-linux.elf.objstrip = $(call tc,objcopy) -R .comment -R .note
|
||||
i386-linux.elf-entry.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,nasm) -f bin -l tmp/$T.bin.lst tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_i386elf_loader tmp/$T.bin $@
|
||||
|
||||
i386-linux.elf-fold.h : tmp/$$T.o tmp/i386-linux.elf-main.o
|
||||
@@ -348,7 +354,7 @@ i386-linux.elf-fold.h : tmp/$$T.o tmp/i386-linux.elf-main.o
|
||||
$(call tc,bin2h) --ident=linux_i386elf_fold tmp/$T.bin $@
|
||||
|
||||
tmp/i386-linux.elf-fold.o : $(srcdir)/src/$$T.asm
|
||||
$(call tc,nasm) -f elf $< -o $@
|
||||
$(call tc,nasm) -f elf -l $@.lst $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/i386-linux.elf-main.o : $(srcdir)/src/$$T.c
|
||||
@@ -365,7 +371,7 @@ tmp/i386-linux.elf-main.o : $(srcdir)/src/$$T.c
|
||||
i386-linux.elf.execve-entry.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) --MMD=$@ $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,nasm) -f bin -l tmp/$T.bin.lst tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_i386exec_loader tmp/$T.bin $@
|
||||
|
||||
i386-linux.elf.execve-fold.h : tmp/$$T.o tmp/i386-linux.elf.execve-main.o tmp/i386-linux.elf.execve-upx_itoa.o
|
||||
@@ -376,7 +382,7 @@ i386-linux.elf.execve-fold.h : tmp/$$T.o tmp/i386-linux.elf.execve-main.o tmp/i3
|
||||
$(call tc,bin2h) --ident=linux_i386exec_fold tmp/$T.bin $@
|
||||
|
||||
tmp/i386-linux.elf.execve-fold.o : $(srcdir)/src/$$T.asm
|
||||
$(call tc,nasm) -f elf $< -o $@
|
||||
$(call tc,nasm) -f elf -l $@.lst $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/i386-linux.elf.execve-main.o : $(srcdir)/src/$$T.c
|
||||
@@ -384,7 +390,7 @@ tmp/i386-linux.elf.execve-main.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/i386-linux.elf.execve-upx_itoa.o: $(srcdir)/src/$$T.asm
|
||||
$(call tc,nasm) -f elf $< -o $@
|
||||
$(call tc,nasm) -f elf -l $@.lst $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
|
||||
@@ -397,7 +403,7 @@ tmp/i386-linux.elf.execve-upx_itoa.o: $(srcdir)/src/$$T.asm
|
||||
i386-linux.elf.interp-entry.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) --MMD=$@ $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,nasm) -f bin -l tmp/$T.bin.lst tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_i386pti_loader tmp/$T.bin $@
|
||||
|
||||
i386-linux.elf.interp-fold.h : tmp/$$T.o tmp/i386-linux.elf.interp-main.o
|
||||
@@ -408,7 +414,7 @@ i386-linux.elf.interp-fold.h : tmp/$$T.o tmp/i386-linux.elf.interp-main.o
|
||||
$(call tc,bin2h) --ident=linux_i386pti_fold tmp/$T.bin $@
|
||||
|
||||
tmp/i386-linux.elf.interp-fold.o : $(srcdir)/src/$$T.asm
|
||||
$(call tc,nasm) -f elf $< -o $@
|
||||
$(call tc,nasm) -f elf -l $@.lst $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/i386-linux.elf.interp-main.o : $(srcdir)/src/$$T.c
|
||||
@@ -425,7 +431,7 @@ tmp/i386-linux.elf.interp-main.o : $(srcdir)/src/$$T.c
|
||||
i386-linux.elf.shell-entry.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) --MMD=$@ $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,nasm) -f bin -l tmp/$T.bin.lst tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_i386sh_loader tmp/$T.bin $@
|
||||
|
||||
i386-linux.elf.shell-fold.h : tmp/$$T.o tmp/i386-linux.elf.shell-main.o
|
||||
@@ -436,7 +442,7 @@ i386-linux.elf.shell-fold.h : tmp/$$T.o tmp/i386-linux.elf.shell-main.o
|
||||
$(call tc,bin2h) --ident=linux_i386sh_fold tmp/$T.bin $@
|
||||
|
||||
tmp/i386-linux.elf.shell-fold.o : $(srcdir)/src/$$T.asm
|
||||
$(call tc,nasm) -f elf $< -o $@
|
||||
$(call tc,nasm) -f elf -l $@.lst $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/i386-linux.elf.shell-main.o : $(srcdir)/src/$$T.c
|
||||
@@ -454,7 +460,7 @@ i386-linux.kernel.vmlin% : tc_list = i386 default
|
||||
i386-linux.kernel%.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) --MMD=$@ $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,nasm) -f bin -l tmp/$T.bin.lst tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
@@ -467,7 +473,7 @@ i386-win32.pe% : tc_list = i386 default
|
||||
i386-win32.pe.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) --MMD=$@ $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,nasm) -f bin -l tmp/$T.bin.lst tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
@@ -482,7 +488,7 @@ tc.m68k-atari.tos.asm-a68k = a68k
|
||||
|
||||
m68k-atari.tos-nrv%.h : $(srcdir)/src/m68k-atari.tos.asm
|
||||
# call gpp_inc to generate .d file
|
||||
$(call tc,gpp_inc) --MMD=$@ --MF=tmp/$T.i.d $< -o /dev/null
|
||||
$(call tc,gpp_inc) --mode=c --MMD=$@ --MF=tmp/$T.i.d $< -o /dev/null
|
||||
$(call tc,pp-asm) -D__A68K__ $(PP_FLAGS) $< -o tmp/$T.i
|
||||
$(call tc,asm-a68k) -q -ltmp/$T.o.lst tmp/$T.i -otmp/$T.o
|
||||
$(call tc,o2bin) tmp/$T.o tmp/$T.bin 'UPX1' 'UPX9'
|
||||
@@ -510,7 +516,7 @@ tc.mipsel.r3000-ps1.asm5900 = asm5900
|
||||
|
||||
mipsel.r3000-ps1-%.h : $(srcdir)/src/mipsel.r3000-ps1.asm
|
||||
# call gpp_inc to generate .d file
|
||||
$(call tc,gpp_inc) --MMD=$@ --MF=tmp/$T.tmp1.d $< -o /dev/null
|
||||
$(call tc,gpp_inc) --mode=c --MMD=$@ --MF=tmp/$T.tmp1.d $< -o /dev/null
|
||||
$(call tc,pp-asm) $(PP_FLAGS) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-asm5900) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,asm5900) --nologo -q -ltmp/$T.bin.lst tmp/$T.tmp2 -otmp/$T.bin
|
||||
|
||||
@@ -34,10 +34,11 @@ import getopt, os, re, sys, zlib
|
||||
class opts:
|
||||
dry_run = 0
|
||||
ident = None
|
||||
mode = "c"
|
||||
verbose = 0
|
||||
|
||||
|
||||
def w_header(w, ifile, ofile, n):
|
||||
def w_header_c(w, ifile, ofile, n):
|
||||
w("/* %s -- created from %s, %d (0x%x) bytes\n" % (os.path.basename(ofile), os.path.basename(ifile), n, n))
|
||||
w("""\n\
|
||||
This file is part of the UPX executable compressor.
|
||||
@@ -67,14 +68,14 @@ def w_header(w, ifile, ofile, n):
|
||||
*/\n\n\n""")
|
||||
|
||||
|
||||
def w_checksum(w, s, data):
|
||||
def w_checksum_c(w, s, data):
|
||||
w("#define %s_SIZE %d\n" % (s, len(data)))
|
||||
w("#define %s_ADLER32 0x%08x\n" % (s, 0xffffffffL & zlib.adler32(data)))
|
||||
w("#define %s_CRC32 0x%08x\n" % (s, 0xffffffffL & zlib.crc32(data)))
|
||||
w("\n")
|
||||
|
||||
|
||||
def w_data(w, data):
|
||||
def w_data_c(w, data):
|
||||
def w_eol(w, i):
|
||||
if i > 0:
|
||||
w(" /* 0x%4x */" % (i - 16))
|
||||
@@ -93,8 +94,29 @@ def w_data(w, data):
|
||||
w_eol(w, i)
|
||||
|
||||
|
||||
def w_data_nasm(w, data):
|
||||
def w_eol(w, i):
|
||||
if i > 0:
|
||||
w(" ; 0x%04x" % (i - 16))
|
||||
w("\n")
|
||||
|
||||
n = len(data)
|
||||
for i in range(n):
|
||||
if i % 16 == 0:
|
||||
w_eol(w, i)
|
||||
w("db ")
|
||||
else:
|
||||
w(",")
|
||||
w("%3d" % ord(data[i]))
|
||||
i = n
|
||||
while i % 16 != 0:
|
||||
i += 1
|
||||
w(" ")
|
||||
w_eol(w, i)
|
||||
|
||||
|
||||
def main(argv):
|
||||
shortopts, longopts = "qv", ["dry-run", "ident=", "quiet", "verbose"]
|
||||
shortopts, longopts = "qv", ["dry-run", "ident=", "mode=", "quiet", "verbose"]
|
||||
xopts, args = getopt.gnu_getopt(argv[1:], shortopts, longopts)
|
||||
for opt, optarg in xopts:
|
||||
if 0: pass
|
||||
@@ -102,6 +124,7 @@ def main(argv):
|
||||
elif opt in ["-v", "--verbose"]: opts.verbose = opts.verbose + 1
|
||||
elif opt in ["--dry-run"]: opts.dry_run = opts.dry_run + 1
|
||||
elif opt in ["--ident"]: opts.ident = optarg
|
||||
elif opt in ["--mode"]: opts.mode = optarg.lower()
|
||||
else: assert 0, ("getopt problem:", opt, optarg, xopts, args)
|
||||
|
||||
assert len(args) == 2
|
||||
@@ -129,13 +152,19 @@ def main(argv):
|
||||
fp = open(ofile, "wb")
|
||||
w = fp.write
|
||||
if opts.verbose >= 0:
|
||||
w_header(w, ifile, ofile, len(data))
|
||||
if opts.mode == "c":
|
||||
w_header_c(w, ifile, ofile, len(data))
|
||||
if opts.ident:
|
||||
w_checksum(w, opts.ident.upper(), data)
|
||||
w("unsigned char %s[%d] = {\n" % (opts.ident, len(data)))
|
||||
w_data(w, data)
|
||||
if opts.mode == "c":
|
||||
w_checksum_c(w, opts.ident.upper(), data)
|
||||
w("unsigned char %s[%d] = {\n" % (opts.ident, len(data)))
|
||||
if opts.mode == "c":
|
||||
w_data_c(w, data)
|
||||
elif opts.mode == "nasm":
|
||||
w_data_nasm(w, data)
|
||||
if opts.ident:
|
||||
w("};\n")
|
||||
if opts.mode == "c":
|
||||
w("};\n")
|
||||
fp.close()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user