Remove Makefiles and many related scripts

This commit is contained in:
Riccardo Schirone 2021-01-22 11:42:18 +01:00 committed by Florian Märkl
parent 2f62fad57d
commit cee8d470c2
481 changed files with 3 additions and 15096 deletions

1
.gitignore vendored
View file

@ -53,6 +53,7 @@ binrz/rz-sign/rz-sign
binrz/rz-sign/rz-sign.exe
binrz/*/_CodeSignature/*
build
builddir
build_sdb
config-user.mk
librz/bin/d/dll/dll

443
Makefile
View file

@ -1,443 +0,0 @@
-include config-user.mk
include global.mk
PREVIOUS_RELEASE=`git log --tags --simplify-by-decoration --pretty='format:%d'|head -n1|cut -d ' ' -f3 |sed -e 's,),,'`
B=$(DESTDIR)$(BINDIR)
L=$(DESTDIR)$(LIBDIR)
MESON?=meson
PYTHON?=python
RZ_TEST=test
RZ_BINS=$(shell cd binrz ; echo rizin rz-*)
ifdef SOURCE_DATE_EPOCH
BUILDSEC=$(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+__%H:%M:%S" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "+__%H:%M:%S" 2>/dev/null || date -u "+__%H:%M:%S")
else
BUILDSEC=$(shell date "+__%H:%M:%S")
endif
DATADIRS=librz/cons/d librz/flag/d librz/bin/d librz/asm/d librz/syscall/d librz/magic/d librz/analysis/d
USE_ZIP=YES
ZIP=zip
RZ_VC=$(shell git rev-list --all --count 2>/dev/null)
ifeq ($(RZ_VC),)
# release
RZ_VC=0
endif
STRIP?=strip
ifneq ($(shell xz --help 2>/dev/null | grep improve),)
TAR=tar -cvf
TAREXT=tar.xz
CZ=xz -f
else
TAR=bsdtar cvf
TAREXT=tar.gz
CZ=gzip -f
endif
PWD=$(shell pwd)
ifeq ($(BUILD_OS),windows)
ifeq ($(OSTYPE),mingw32)
ifneq (,$(findstring mingw32-make,$(MAKE)))
ifneq ($(APPVEYOR),True)
LC_ALL=C
export LC_ALL
endif
endif
endif
endif
all: plugins.cfg librz/include/rz_version.h
${MAKE} -C shlr sdbs
${MAKE} -C shlr/zip
${MAKE} -C librz/util
${MAKE} -C librz/socket
${MAKE} -C shlr
${MAKE} -C librz
${MAKE} -C binrz
#.PHONY: librz/include/rz_version.h
GIT_TAP=$(shell git tag -l --sort=refname | grep -e '^\d.\d.\d$' | tail -n1 || echo $(VERSION))
GIT_TIP=$(shell git rev-parse HEAD 2>/dev/null || echo HEAD)
RZ_VER=$(shell ./configure -qV)
ifdef SOURCE_DATE_EPOCH
GIT_NOW=$(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+%Y-%m-%d" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "+%Y-%m-%d" 2>/dev/null || date -u "+%Y-%m-%d")
else
GIT_NOW=$(shell date "+%Y-%m-%d")
endif
librz/include/rz_version.h:
@echo Generating rz_version.h file
@echo '#ifndef RZ_VERSION_H' > $@.tmp
@echo '#define RZ_VERSION_H 1' >> $@.tmp
@echo '#define RZ_VERSION_COMMIT $(RZ_VC)' >> $@.tmp
@echo '#define RZ_VERSION "$(RZ_VERSION)"' >> $@.tmp
@echo '#define RZ_VERSION_MAJOR $(RZ_VERSION_MAJOR)' >> $@.tmp
@echo '#define RZ_VERSION_MINOR $(RZ_VERSION_MINOR)' >> $@.tmp
@echo '#define RZ_VERSION_PATCH $(RZ_VERSION_PATCH)' >> $@.tmp
@echo '#define RZ_VERSION_NUMBER $(RZ_VERSION_NUMBER)' >> $@.tmp
@echo '#define RZ_GITTAP "$(GIT_TAP)"' >> $@.tmp
@echo '#define RZ_GITTIP "$(GIT_TIP)"' >> $@.tmp
@echo '#define RZ_BIRTH "$(GIT_NOW)$(BUILDSEC)"' >> $@.tmp
@echo '#endif' >> $@.tmp
@mv -f $@.tmp $@
@rm -f $@.tmp
plugins.cfg:
@if [ ! -e config-user.mk ]; then echo ; \
echo " Please, run ./configure first" ; echo ; exit 1 ; fi
$(SHELL) ./configure-plugins
w32:
sys/mingw32.sh
depgraph.png:
cd librz ; perl depgraph.pl dot | dot -Tpng -o../depgraph.png
android:
@if [ -z "$(NDK_ARCH)" ]; then echo "Set NDK_ARCH=[arm|arm64|mips|x86]" ; false; fi
sys/android-${NDK_ARCH}.sh
w32dist:
${MAKE} windist WINBITS=w32
w64dist:
${MAKE} windist WINBITS=w64
WINDIST=${WINBITS}dist
ZIPNAME?=rizin-${WINBITS}-${VERSION}.zip
C=$(shell printf "\033[32m")
R=$(shell printf "\033[0m")
windist:
@echo "${C}[WINDIST] Installing binaries and libraries${R}"
[ -n "${WINBITS}" ] || exit 1
rm -rf "rizin-${WINBITS}-${VERSION}" "${WINDIST}"
mkdir "${WINDIST}"
for FILE in `find librz | grep -e dll$$`; do cp "$$FILE" "${WINDIST}" ; done
for FILE in `find binrz | grep -e exe$$`; do cp "$$FILE" "${WINDIST}" ; done
rm -f "${WINDIST}/plugin.dll"
@echo "${C}[WINDIST] Picking plugins from libraries${R}"
mkdir -p "${WINDIST}/libs"
mv "${WINDIST}/"lib*.dll "${WINDIST}/libs"
mkdir -p "${WINDIST}/plugins"
mv ${WINDIST}/*.dll "${WINDIST}/plugins"
mv ${WINDIST}/libs/* "${WINDIST}"
@echo "${C}[WINDIST] Do not include plugins for now${R}"
rm -rf "${WINDIST}/libs"
rm -rf ${WINDIST}/plugins/*
@echo "${C}[WINDIST] Copying web interface${R}"
mkdir -p "${WINDIST}/share/rizin/${VERSION}/magic"
cp -f librz/magic/d/default/* "${WINDIST}/share/rizin/${VERSION}/magic"
mkdir -p "${WINDIST}/share/rizin/${VERSION}/syscall"
cp -f librz/syscall/d/*.sdb "${WINDIST}/share/rizin/${VERSION}/syscall"
mkdir -p "${WINDIST}/share/rizin/${VERSION}/sysregs"
cp -f librz/sysregs/d/*.sdb "${WINDIST}/share/rizin/${VERSION}/sysregs"
mkdir -p "${WINDIST}/share/rizin/${VERSION}/fcnsign"
cp -f librz/analysis/d/*.sdb "${WINDIST}/share/rizin/${VERSION}/fcnsign"
mkdir -p "${WINDIST}/share/rizin/${VERSION}/opcodes"
cp -f librz/asm/d/*.sdb "${WINDIST}/share/rizin/${VERSION}/opcodes"
mkdir -p "${WINDIST}/share/rizin/${VERSION}/flag"
cp -f librz/flag/d/*.rz "${WINDIST}/share/rizin/${VERSION}/flag"
mkdir -p "${WINDIST}/share/doc/rizin"
mkdir -p "${WINDIST}/include/librz/sdb"
mkdir -p "${WINDIST}/include/librz/rz_util"
@echo "${C}[WINDIST] Copying development files${R}"
cp -f shlr/sdb/src/*.h "${WINDIST}/include/librz/sdb/"
cp -f librz/include/rz_util/*.h "${WINDIST}/include/librz/rz_util/"
cp -f librz/include/*.h "${WINDIST}/include/librz"
#mkdir -p "${WINDIST}/include/librz/sflib"
@cp -f doc/fortunes.* "${WINDIST}/share/doc/rizin"
@mkdir -p "${WINDIST}/share/rizin/${VERSION}/format/dll"
@cp -f librz/bin/d/elf32 "${WINDIST}/share/rizin/${VERSION}/format"
@cp -f librz/bin/d/elf64 "${WINDIST}/share/rizin/${VERSION}/format"
@cp -f librz/bin/d/elf_enums "${WINDIST}/share/rizin/${VERSION}/format"
@cp -f librz/bin/d/pe32 "${WINDIST}/share/rizin/${VERSION}/format"
@cp -f librz/bin/d/trx "${WINDIST}/share/rizin/${VERSION}/format"
@cp -f librz/bin/d/dll/*.sdb "${WINDIST}/share/rizin/${VERSION}/format/dll"
@mkdir -p "${WINDIST}/share/rizin/${VERSION}/cons"
@cp -PRpf librz/cons/d/* "${WINDIST}/share/rizin/${VERSION}/cons"
@mkdir -p "${WINDIST}/share/rizin/${VERSION}/hud"
@cp -f doc/hud "${WINDIST}/share/rizin/${VERSION}/hud/main"
@mv "${WINDIST}" "rizin-${WINBITS}-${VERSION}"
@rm -f "rizin-${WINBITS}-${VERSION}.zip"
ifneq ($(USE_ZIP),NO)
$(ZIP) -r "${ZIPNAME}" "rizin-${WINBITS}-${VERSION}"
endif
clean:
rm -f librz/librz.a librz/librz.dylib librz/include/rz_version.h
rm -rf librz/.librz
for DIR in shlr librz binrz ; do $(MAKE) -C "$$DIR" clean ; done
-rm -f `find . -type f -name '*.d'`
rm -f `find . -type f -name '*.o'`
rm -f config-user.mk plugins.cfg librz/config.h
rm -f librz/include/rz_userconf.h librz/config.mk
rm -f pkgcfg/*.pc
distclean mrproper: clean
rm -f `find . -type f -iname '*.d'`
pkgcfg:
cd librz && ${MAKE} pkgcfg
install-man:
mkdir -p "${DESTDIR}${MANDIR}/man1"
mkdir -p "${DESTDIR}${MANDIR}/man7"
for FILE in man/*.1 ; do ${INSTALL_MAN} "$$FILE" "${DESTDIR}${MANDIR}/man1" ; done
cd "${DESTDIR}${MANDIR}/man1"
for FILE in man/*.7 ; do ${INSTALL_MAN} "$$FILE" "${DESTDIR}${MANDIR}/man7" ; done
install-man-symlink:
mkdir -p "${DESTDIR}${MANDIR}/man1"
mkdir -p "${DESTDIR}${MANDIR}/man7"
for FILE in $(shell cd man && ls *.1) ; do \
ln -fs "${PWD}/man/$$FILE" "${DESTDIR}${MANDIR}/man1/$$FILE" ; done
cd "${DESTDIR}${MANDIR}/man1" && ln -fs rizin.1
for FILE in *.7 ; do \
ln -fs "${PWD}/man/$$FILE" "${DESTDIR}${MANDIR}/man7/$$FILE" ; done
install-doc:
mkdir -p "${DESTDIR}${DOCDIR}"
${INSTALL_DIR} "${DESTDIR}${DOCDIR}"
@echo ${DOCDIR}
for FILE in doc/* ; do \
if [ -f $$FILE ]; then ${INSTALL_DATA} $$FILE "${DESTDIR}${DOCDIR}" || true ; fi; \
done
install-doc-symlink:
mkdir -p "${DESTDIR}${DOCDIR}"
${INSTALL_DIR} "${DESTDIR}${DOCDIR}"
for FILE in $(shell cd doc ; ls) ; do \
ln -fs "$(PWD)/doc/$$FILE" "${DESTDIR}${DOCDIR}" ; done
install love: install-doc install-man install-pkgconfig
cd librz && ${MAKE} install
cd binrz && ${MAKE} install
cd shlr && ${MAKE} install
for DIR in ${DATADIRS} ; do $(MAKE) -C "$$DIR" install ; done
cd "$(DESTDIR)$(LIBDIR)/rizin/" ;\
rm -f last ; ln -fs $(VERSION) last
cd "$(DESTDIR)$(DATADIR)/rizin/" ;\
rm -f last ; ln -fs $(VERSION) last
rm -rf "${DESTDIR}${DATADIR}/rizin/${VERSION}/hud"
mkdir -p "${DESTDIR}${DATADIR}/rizin/${VERSION}/hud"
mkdir -p "${DESTDIR}${BINDIR}"
#${INSTALL_SCRIPT} "${PWD}/sys/indent.sh" "${DESTDIR}${BINDIR}/rz-indent"
#${INSTALL_SCRIPT} "${PWD}/sys/r1-docker.sh" "${DESTDIR}${BINDIR}/rz-docker"
cp -f doc/hud "${DESTDIR}${DATADIR}/rizin/${VERSION}/hud/main"
mkdir -p "${DESTDIR}${DATADIR}/rizin/${VERSION}/"
$(SHELL) sys/ldconfig.sh
$(SHELL) ./configure-plugins --rm-static $(DESTDIR)$(LIBDIR)/rizin/last/
install-pkgconfig pkgconfig-install:
@${INSTALL_DIR} "${DESTDIR}${LIBDIR}/pkgconfig"
for FILE in $(shell cd pkgcfg ; ls *.pc) ; do \
cp -f "$(PWD)/pkgcfg/$$FILE" "${DESTDIR}${LIBDIR}/pkgconfig/$$FILE" ; done
install-pkgconfig-symlink pkgconfig-symstall symstall-pkgconfig:
mkdir -p "${DESTDIR}${LIBDIR}/pkgconfig"
@${INSTALL_DIR} "${DESTDIR}${LIBDIR}/pkgconfig"
for FILE in $(shell cd pkgcfg ; ls *.pc) ; do \
ln -fs "$(PWD)/pkgcfg/$$FILE" "${DESTDIR}${LIBDIR}/pkgconfig/$$FILE" ; done
symstall-sdb:
for DIR in ${DATADIRS} ; do (\
cd "$$DIR" ; \
echo "$$DIR" ; \
${MAKE} install-symlink ); \
done
symstall install-symlink: install-man-symlink install-doc-symlink install-pkgconfig-symlink symstall-sdb
cd librz && ${MAKE} install-symlink
cd binrz && ${MAKE} install-symlink
cd shlr && ${MAKE} install-symlink
mkdir -p "${DESTDIR}${BINDIR}"
ln -fs "${PWD}/sys/indent.sh" "${DESTDIR}${BINDIR}/rz-indent"
ln -fs "${PWD}/sys/rz-docker.sh" "${DESTDIR}${BINDIR}/rz-docker"
mkdir -p "${DESTDIR}${DATADIR}/rizin/${VERSION}/hud"
ln -fs "${PWD}/doc/hud" "${DESTDIR}${DATADIR}/rizin/${VERSION}/hud/main"
#mkdir -p "${DESTDIR}${DATADIR}/rizin/${VERSION}/flag"
#ln -fs $(PWD)/librz/flag/d/tags.rz "${DESTDIR}${DATADIR}/rizin/${VERSION}/flag/tags.rz"
cd "$(DESTDIR)$(LIBDIR)/rizin/" ;\
rm -f last ; ln -fs $(VERSION) last
cd "$(DESTDIR)$(DATADIR)/rizin/" ;\
rm -f last ; ln -fs $(VERSION) last
mkdir -p "${DESTDIR}${DATADIR}/rizin/${VERSION}/"
$(SHELL) sys/ldconfig.sh
$(SHELL) ./configure-plugins --rm-static $(DESTDIR)/$(LIBDIR)/rizin/last/
deinstall uninstall:
rm -f $(DESTDIR)$(BINDIR)/rz-indent
rm -f $(DESTDIR)$(BINDIR)/rz-docker
cd librz && ${MAKE} uninstall
cd binrz && ${MAKE} uninstall
cd shlr && ${MAKE} uninstall
cd librz/syscall/d && ${MAKE} uninstall
cd librz/analysis/d && ${MAKE} uninstall
@echo
@echo "Run 'make purge' to also remove installed files from previous versions of rz"
@echo
purge-doc:
rm -rf "${DESTDIR}${DOCDIR}"
cd man ; for FILE in *.1 ; do rm -f "${DESTDIR}${MANDIR}/man1/$$FILE" ; done
user-wrap=echo "\#!/bin/sh" > ~/bin/"$1" \
; echo "${PWD}/env.sh '${PREFIX}' '$1' \"\$$@\"" >> ~/bin/"$1" \
; chmod +x ~/bin/"$1" ;
user-install:
mkdir -p ~/bin
$(foreach mod,$(RZ_BINS),$(call user-wrap,$(mod)))
cd ~/bin ;
user-uninstall:
$(foreach mod,$(RZ_BINS),rm -f ~/bin/"$(mod)")
-rmdir ~/bin
purge-dev:
rm -f "${DESTDIR}${LIBDIR}/librz_"*".${EXT_AR}"
rm -f "${DESTDIR}${LIBDIR}/pkgconfig/rz_"*.pc
rm -rf "${DESTDIR}${INCLUDEDIR}/librz"
rm -f "${DESTDIR}${LIBDIR}/rizin/${VERSION}/-"*
# required for EXT_SO
include librz/config.mk
strip:
#-for FILE in ${RZ_BINS} ; do ${STRIP} -s "${DESTDIR}${BINDIR}/$$FILE" 2> /dev/null ; done
ifeq ($(HOST_OS),darwin)
-${STRIP} -STxX "${DESTDIR}${LIBDIR}/librz_"*".${EXT_SO}"
else
-${STRIP} -s "${DESTDIR}${LIBDIR}/librz_"*".${EXT_SO}"
endif
purge: purge-doc purge-dev user-uninstall
for FILE in ${RZ_BINS} ; do rm -f "${DESTDIR}${BINDIR}/$$FILE" ; done
rm -f "${DESTDIR}${BINDIR}/rz_gg-cc"
rm -f "${DESTDIR}${LIBDIR}/librz_"*
rm -f "${DESTDIR}${LIBDIR}/librz"*".${EXT_SO}"
rm -rf "${DESTDIR}${LIBDIR}/rizin"
rm -rf "${DESTDIR}${INCLUDEDIR}/librz"
rm -rf "${DESTDIR}${DATADIR}/rizin"
RZ_V=rizin-${VERSION}
v ver version:
@echo CURRENT=${VERSION}
@echo PREVIOUS=${PREVIOUS_RELEASE}
dist:
rm -rf $(RZ_V)
git clone . $(RZ_V)
-cd $(RZ_V) && [ ! -f config-user.mk -o configure -nt config-user.mk ] && ./configure "--prefix=${PREFIX}"
cd $(RZ_V) ; git log $$(git show-ref | grep ${PREVIOUS_RELEASE} | awk '{print $$1}')..HEAD > ChangeLog
$(MAKE) -C $(RZ_V)/shlr capstone-sync
FILES=`cd $(RZ_V); git ls-files | sed -e "s,^,$(RZ_V)/,"` ; \
CS_FILES=`cd $(RZ_V)/shlr/capstone ; git ls-files | grep -v pdf | grep -v xcode | grep -v msvc | grep -v suite | grep -v bindings | grep -v tests | sed -e "s,^,$(RZ_V)/shlr/capstone/,"` ; \
${TAR} "rizin-${VERSION}.tar" $${FILES} $${CS_FILES} "$(RZ_V)/ChangeLog" ; \
${CZ} "rizin-${VERSION}.tar"
olddist:
-[ configure -nt config-user.mk ] && ./configure "--prefix=${PREFIX}"
#git log $$(git show-ref `git tag |tail -n1`)..HEAD > ChangeLog
git log $$(git show-ref | grep ${PREVIOUS_RELEASE} | awk '{print $$1}')..HEAD > ChangeLog
cd shlr && ${MAKE} capstone-sync
$(MAKE) -R capstone.ps
DIR=`basename "$$PWD"` ; \
FILES=`git ls-files | sed -e "s,^,rizin-${VERSION}/,"` ; \
CS_FILES=`cd shlr/capstone ; git ls-files | grep -v pdf | grep -v xcode | grep -v msvc | grep -v suite | grep -v bindings | grep -v tests | sed -e "s,^,rizin-${VERSION}/shlr/capstone/,"` ; \
cd .. && mv "$${DIR}" "rizin-${VERSION}" && \
${TAR} "rizin-${VERSION}.tar" $${FILES} $${CS_FILES} "rizin-${VERSION}/ChangeLog" ; \
${CZ} "rizin-${VERSION}.tar" ; \
mv "rizin-${VERSION}" "$${DIR}"
shot:
DATE=`date '+%Y%m%d'` ; \
FILES=`git ls-files | sed -e "s,^,rizin-${DATE}/,"` ; \
cd .. && mv rizin "rizin-$${DATE}" && \
${TAR} "rizin-$${DATE}.tar" $${FILES} ;\
${CZ} "rizin-$${DATE}.tar" ;\
mv "rizin-$${DATE}" rizin && \
scp "rizin-$${DATE}.${TAREXT}" \
rizin.org:/srv/http/rizinorg/get/shot
tests:
$(MAKE) -C $(RZ_TEST)
macos-sign:
$(MAKE) -C binrz/rizin macos-sign
macos-sign-libs:
$(MAKE) -C binrz/rizin macos-sign-libs
osx-pkg:
sys/osx-pkg.sh $(VERSION)
quality:
./sys/shellcheck.sh
menu nconfig:
./sys/menu.sh || true
meson:
@echo "[ Meson RZ Building ]"
$(PYTHON) sys/meson.py --prefix="${PREFIX}" --shared
meson-install:
DESTDIR="$(DESTDIR)" ninja -C build install
meson-symstall: symstall-sdb
@echo "[ Meson symstall (not stable) ]"
ln -fs $(PWD)/binrz/rz_pm/rz-pm ${B}/rz-pm
ln -fs $(PWD)/build/binrz/rz_asm/rz_asm ${B}/rz_asm
ln -fs $(PWD)/build/binrz/rz_run/rz_run ${B}/rz_run
ln -fs $(PWD)/build/binrz/rizin/rizin ${B}/rizin
ln -fs $(PWD)/build/binrz/rz_hash/rz_hash ${B}/rz_hash
ln -fs $(PWD)/build/binrz/rz_bin/rz_bin ${B}/rz_bin
ln -fs $(PWD)/build/binrz/rizin/rizin ${B}/rizin
ln -fs $(PWD)/build/binrz/rz_gg/rz_gg ${B}/rz_gg
cd $(B)
ln -fs $(PWD)/build/librz/util/librz_util.$(EXT_SO) ${L}/librz_util.$(EXT_SO)
ln -fs $(PWD)/build/librz/bp/librz_bp.$(EXT_SO) ${L}/librz_bp.$(EXT_SO)
ln -fs $(PWD)/build/librz/syscall/librz_syscall.$(EXT_SO) ${L}/librz_syscall.$(EXT_SO)
ln -fs $(PWD)/build/librz/cons/librz_cons.$(EXT_SO) ${L}/librz_cons.$(EXT_SO)
ln -fs $(PWD)/build/librz/search/librz_search.$(EXT_SO) ${L}/librz_search.$(EXT_SO)
ln -fs $(PWD)/build/librz/magic/librz_magic.$(EXT_SO) ${L}/librz_magic.$(EXT_SO)
ln -fs $(PWD)/build/librz/flag/librz_flag.$(EXT_SO) ${L}/librz_flag.$(EXT_SO)
ln -fs $(PWD)/build/librz/reg/librz_reg.$(EXT_SO) ${L}/librz_reg.$(EXT_SO)
ln -fs $(PWD)/build/librz/bin/librz_bin.$(EXT_SO) ${L}/librz_bin.$(EXT_SO)
ln -fs $(PWD)/build/librz/config/librz_config.$(EXT_SO) ${L}/librz_config.$(EXT_SO)
ln -fs $(PWD)/build/librz/parse/librz_parse.$(EXT_SO) ${L}/librz_parse.$(EXT_SO)
ln -fs $(PWD)/build/librz/lang/librz_lang.$(EXT_SO) ${L}/librz_lang.$(EXT_SO)
ln -fs $(PWD)/build/librz/asm/librz_asm.$(EXT_SO) ${L}/librz_asm.$(EXT_SO)
ln -fs $(PWD)/build/librz/analysis/librz_analysis.$(EXT_SO) ${L}/librz_analysis.$(EXT_SO)
ln -fs $(PWD)/build/librz/egg/librz_egg.$(EXT_SO) ${L}/librz_egg.$(EXT_SO)
ln -fs $(PWD)/build/librz/debug/librz_debug.$(EXT_SO) ${L}/librz_debug.$(EXT_SO)
ln -fs $(PWD)/build/librz/core/librz_core.$(EXT_SO) ${L}/librz_core.$(EXT_SO)
meson-uninstall:
ninja -C build uninstall
$(MAKE) uninstall
meson-clean:
rm -rf build
rm -rf build_sdb
MESON_FILES=$(shell find build/librz build/binrz -type f | grep -v @)
meson-symstall-experimental:
for a in $(MESON_FILES) ; do echo ln -fs "$(PWD)/$$a" "$(PWD)/$$(echo $$a|sed -e s,build/,,)" ; done
$(MAKE) symstall
shlr/capstone:
$(MAKE) -C shlr capstone
.PHONY: meson meson-install
include ${MKPLUGINS}
.PHONY: all clean install symstall uninstall deinstall strip
.PHONY: librz binrz install-man w32dist tests dist shot pkgcfg depgraph.png love
.PHONY: purge system-purge
.PHONY: shlr/capstone

View file

@ -1,27 +0,0 @@
#!/bin/sh
#
# Look for the 'acr' tool here: https://github.com/radare/acr
# Clone last version of ACR from here:
# git clone https://github.com/radare/acr
#
# -- pancake
rz-pm -h >/dev/null 2>&1
if [ $? = 0 ]; then
echo "Installing the last version of 'acr'..."
rz-pm -i acr > /dev/null
rz-pm -r acr -h > /dev/null 2>&1
if [ $? = 0 ]; then
echo "Running 'acr -p'..."
rz-pm -r acr -p
else
echo "Cannot find 'acr' in PATH"
fi
else
echo "Running acr..."
acr -p
fi
if [ -n "$1" ]; then
echo "./configure $*"
./configure $*
fi

View file

@ -1,70 +0,0 @@
include ../global.mk
include ../librz/config.mk
DESTDIR:=$(DESTDIR)
BTOP=$(shell pwd)
.PHONY: all clean install install-symlink deinstall uninstall mrproper preload
BINS=rz-ax rz-asm rz-bin rz-hash rz-diff rizin rz-find rz-run rz-gg rz-agent rz-sign
ifeq ($(WANT_RZ_TEST),1)
BINS+=rz-test
endif
LIBRZ=$(call libname-version,librz.$(EXT_SO),${LIBVERSION})
all: preload
@for BINARY in $(BINS) ; do $(MAKE) -C $${BINARY} all || exit 1; done
ifeq ($(COMPILER),ios-sdk)
$(MAKE) ios-sign
endif
preload:
ifeq ($(WITHPIC),1)
$(MAKE) -C preload
endif
install:
mkdir -p "${DESTDIR}${BINDIR}"
for BINARY in ${BINS} ; do \
rm -f "${DESTDIR}${BINDIR}/$$BINARY" ; \
${INSTALL_PROGRAM} "$$BINARY/$$BINARY" "${DESTDIR}${BINDIR}/$$BINARY" ; \
done
${INSTALL_SCRIPT} "$(BTOP)/rz-pm/rz-pm" "${DESTDIR}${BINDIR}/rz-pm"
rm -rf "${DESTDIR}${DATADIR}/rizin/${VERSION}/rz-pm"
ifeq ($(WITHPIC),1)
${INSTALL_LIB} "preload/librz.$(EXT_SO)" "${DESTDIR}${LIBDIR}"
-cd "${DESTDIR}${LIBDIR}" && \
mv librz.$(EXT_SO) $(LIBRZ) && \
ln -fs $(LIBRZ) librz.$(EXT_SO)
endif
ios_sign ios-sign ios-sdk-sign:
-for a in $(BINS) ; do xcrun --sdk iphoneos codesign -s- --entitlements rizin/rizin_ios.xml $$a ; done
-for a in ../librz/*/*.${EXT_SO} ; do xcrun --sdk iphoneos codesign -s- --entitlements rizin/rizin_ios.xml $$a ; done
-for a in ../librz/*/p/*.${EXT_SO} ; do xcrun --sdk iphoneos codesign -s- --entitlements rizin/rizin_ios.xml $$a ; done
symstall install-symlink:
cd .. && \
mkdir -p "${DESTDIR}${BINDIR}" && \
for BINARY in ${BINS} ; do ln -fs "${BTOP}/$$BINARY/$$BINARY" "${DESTDIR}${BINDIR}/$$BINARY" ; done
cd .. && ln -fs "${BTOP}/rz-pm/rz-pm" "${DESTDIR}${BINDIR}/rz-pm"
cd .. && rm -rf "${DESTDIR}${DATADIR}/rizin/${VERSION}/rz-pm"
cd .. && mkdir -p "${DESTDIR}${DATADIR}/rizin/${VERSION}/"
-cd .. && ln -fs "${BTOP}/preload/librz.$(EXT_SO)" "${DESTDIR}${LIBDIR}/librz.$(EXT_SO)"
-cd .. && cd "${DESTDIR}${LIBDIR}" && \
mv librz.$(EXT_SO) $(LIBRZ) && \
ln -fs $(LIBRZ) librz.$(EXT_SO)
deinstall uninstall:
-cd .. ; \
for BINARY in ${BINS} ; do rm -f "${DESTDIR}${BINDIR}/$$BINARY" ; done ; \
rm -f "${DESTDIR}${BINDIR}/rz-pm" ; \
clean:
@for DIR in preload ${BINS} ; do ${MAKE} -C $$DIR clean; done
mrproper:
@for DIR in preload ${BINS} ; do ${MAKE} -C $$DIR mrproper; done

View file

@ -1,103 +0,0 @@
PREFIX?=/usr
DESTDIR?=/
BINS=rz-bin rz-run rz-asm rz-gg rz-hash rz-ax rz-find rz-diff
BINS2=rizin ${BINS}
SOURCES= main.c rz-bin.c rizin.c rz-diff.c rz-find.c
SOURCES+=rz-hash.c rz-run.c rz-asm.c rz-ax.c rz-gg.c
include ../../config-user.mk
SHLR=../../shlr
ifeq (${ANDROID},1)
LDFLAGS+=-lm
else
ifneq (${OSTYPE},linux)
LDFLAGS+=-lpthread
LDFLAGS+=-ldl
endif
endif
ifeq ($(USE_LTO),1)
LDFLAGS+=-flto
endif
CFLAGS+=-I../../librz/include/
CFLAGS+=-I$(SHLR)/spp
LDFLAGS+=-L../../librz/main -lrz_main
LDFLAGS+=-L../../librz/io -lrz_io
LDFLAGS+=-L../../librz/bp -lrz_bp
LDFLAGS+=-L../../librz/socket -lrz_socket
LDFLAGS+=-L../../librz/bin -lrz_bin
LDFLAGS+=-L../../librz/reg -lrz_reg
LDFLAGS+=-L../../librz/asm -lrz_asm
LDFLAGS+=-L../../librz/lang -lrz_lang
LDFLAGS+=-L../../librz/egg -lrz_egg
LDFLAGS+=-L../../librz/core -lrz_core
LDFLAGS+=-L../../librz/analysis -lrz_analysis
LDFLAGS+=-L../../librz/crypto -lrz_crypto
LDFLAGS+=-L../../librz/flag -lrz_flag
LDFLAGS+=-L../../librz/parse -lrz_parse
LDFLAGS+=-L../../librz/magic -lrz_magic
LDFLAGS+=-L../../librz/syscall -lrz_syscall
LDFLAGS+=-L../../librz/util -lrz_util
LDFLAGS+=-L../../librz/cons -lrz_cons
LDFLAGS+=-L../../librz/hash -lrz_hash
LDFLAGS+=-L../../librz/debug -lrz_debug
LDFLAGS+=-L../../librz/search -lrz_search
LDFLAGS+=-L../../librz/config -lrz_config
LDFLAGS+=${LINK}
include ../../librz/config.mk
include ../../librz/socket/deps.mk
include ../../librz/magic/deps.mk
include ../../librz/main/deps.mk
include ../../shlr/sdb.mk
include ../../shlr/zip/deps.mk
include ../../shlr/gdb/deps.mk
include ../../shlr/java/deps.mk
include ../../shlr/bochs/deps.mk
include ../../shlr/qnx/deps.mk
include ../../shlr/ar/deps.mk
include ../../shlr/sdb.mk
include ../../shlr/capstone.mk
include ../../shlr/rizin-shell-parser-deps.mk
all: symlinks
symlinks: build
for FILE in ${BINS} ; do \
ln -fs rizin $$FILE ; \
done
clean:
mv main.c main.k
rm -f *.[ch]
mv main.k main.c
build:
mv main.c main.k
rm -f *.[ch]
mv main.k main.c
for FILE in ${BINS2} ; do cp ../$$FILE/*.[ch] . ; done
rm -f rwx.c xorhex.c rsc2.c
for FILE in ${BINS2} ; do \
mv $${FILE}.c _$${FILE}.c ;\
sed -e "s,^int main,int $${FILE}_main,g" _$${FILE}.c > $${FILE}.c ; \
rm -f _$${FILE} ; \
done
rm -f _*
${CC} -o rizin ${SOURCES} ${CFLAGS} ${LDFLAGS}
mv main.c main.k
rm -f *.[ch]
mv main.k main.c
install:
mkdir -p "${DESTDIR}${BINDIR}"
for FILE in ${BINS2} ; do \
rm -f "${DESTDIR}${BINDIR}/$$FILE" ; \
cp -PRpf "$$FILE" "${DESTDIR}${BINDIR}/$$FILE" ; \
done

View file

@ -1,32 +0,0 @@
ISPPC=$(shell uname -m | grep Power)
ifeq ($(ISPPC),)
BIN=librz
ISLIB=1
BINDEPS=rz_core rz_parse rz_search rz_cons rz_config
BINDEPS+=rz_bin rz_debug rz_analysis rz_reg rz_bp rz_io
BINDEPS+=rz_lang rz_asm rz_syscall rz_hash rz_crypto
BINDEPS+=rz_magic rz_socket rz_flag rz_util rz_egg
include ../rules.mk
ifeq ($(OSTYPE),android)
LDFLAGS+=${DL_LIBS} -lm
endif
ifeq ($(OSTYPE),gnulinux)
LDFLAGS+=-Wl,-soname,librz.${EXT_SO}.${LIBVERSION}
endif
include ../../librz/socket/deps.mk
include ../../shlr/zip/deps.mk
include ../../shlr/gdb/deps.mk
include ../../shlr/bochs/deps.mk
include ../../shlr/qnx/deps.mk
include ../../shlr/ar/deps.mk
include ../../shlr/rizin-shell-parser-deps.mk
clean::
rm -f $(BIN).$(EXT_SO) $(BIN).o
else
all:
@echo Cant build preloaded lib in old Macs
endif

View file

@ -1,100 +0,0 @@
BIN=rizin
BINDEPS=rz_core rz_parse rz_search rz_cons rz_config
BINDEPS+=rz_bin rz_debug rz_analysis rz_reg rz_bp rz_io
BINDEPS+=rz_lang rz_asm rz_syscall rz_hash rz_main
BINDEPS+=rz_magic rz_socket rz_flag rz_egg rz_crypto rz_util
include ../../config-user.mk
# Apple Sign #
CERTID?=re.rizin.rizin
BUNDLE=re.rizin.rizin
MACSDK=macosx10.10
ENTITL=rizin.xcent
#ENTITL=rizin_ios.xml
#CFLAGS+=-flto
#LDFLAGS+=-flto
CFLAGS_INCLUDES+=-I$(SHLR)/sdb/src
CFLAGS_INCLUDES+=-I$(LIBRZ)/include
ifeq (${COMPILER},emscripten)
# https://kripken.github.io/emscripten-site/docs/optimizing/Optimizing-Code.html
# -s INLINING_LIMIT=1
# --memory-init-file 0
CFLAGS+=-s EXPORTED_FUNCTIONS='["_r_core_new", "_r_core_free", "_r_cmd_str"]'
CFLAGS+=-s EXTRA_EXPORTED_RUNTIME_METHODS='["cwrap", "addOnInit"]'
CFLAGS+=-s TOTAL_MEMORY=33554432
CFLAGS+=-s ALLOW_MEMORY_GROWTH=1
CFLAGS+=-s ABORTING_MALLOC=0
#CFLAGS+=-Oz --memory-init-file 0
endif
FOOD_LIBS=$(addprefix ../../librz/,$(subst rz_,,$(BINDEPS)))
SIGN_LIBS=$(addsuffix /librz_*.dylib,$(FOOD_LIBS))
include ../rules.mk
#IOS_CERTID?=re.rizin.rizin
ios:
$(MAKE) -C ../../librz/io
$(MAKE) -C ../../librz/debug
rm -f rizin
$(MAKE)
$(MAKE) ios-sign
ifeq ($(shell uname),Darwin)
sign: macos-sign
else
sign: ios-sign
endif
ios-sign iossign:
xcrun --sdk iphoneos codesign \
-s- --entitlements rizin_ios.xml rizin
# -f -s "$$IOS_CERTID" --entitlements rizin_ios.xml rizin
#ldid -Srizin_ios.xml rizin
ios_sdk_sign:
-codesign -s- --entitlements rizin_ios.xml rizin
macos-sign macossign:
rm -f rizin
${CC} rizin.c ${CFLAGS_INCLUDES} ${CFLAGS} ${LDFLAGS} ${LINK} -o rizin \
-sectcreate __TEXT __info_plist Info.plist \
-framework Security -framework CoreFoundation
#xcrun --sdk $(MACSDK) codesign -f -s ${CERTID} --entitlements rizin_macos.xml rizin
codesign -dvvv --deep -f -s ${CERTID} -i ${BUNDLE} --entitlements rizin_macos.xml rizin
#sudo chown root:_developer rizin
# sudo chown root:procmod rizin
#sudo chmod g+s rizin
# sudo chmod 4755 rizin
macos-sign-libs:
for LIB in ${SIGN_LIBS} ; do \
echo Signing $$LIB ; \
codesign -f -s ${CERTID} $$LIB ; \
done
# xcrun --sdk $(MACSDK) codesign -f -s ${CERTID} --entitlements $(ENTITL) rizin
# xcrun --sdk $(MACSDK) codesign -f -s ${CERTID} rizin
# codesign -dvvv -s $(XNUCERT) ./rizin
# sudo chown root:procmod rizin
# sudo chmod g+s rizin
ifeq ($(OSTYPE),android)
LDFLAGS+=${DL_LIBS} -lm
LDFLAGS+=../../shlr/capstone/libcapstone.a
endif
include ../../librz/socket/deps.mk
include ../../librz/magic/deps.mk
include ../../librz/main/deps.mk
include ../../shlr/zip/deps.mk
include ../../shlr/gdb/deps.mk
include ../../shlr/java/deps.mk
include ../../shlr/bochs/deps.mk
include ../../shlr/qnx/deps.mk
include ../../shlr/ar/deps.mk
include ../../shlr/yxml/deps.mk
include ../../shlr/sdb.mk
LDFLAGS+=$(LINK)

View file

@ -1,102 +0,0 @@
BINR_PROGRAM=1
include ../../librz/config.mk
include ../../shlr/zip/deps.mk
include ../../shlr/sdb.mk
ifeq (,$(findstring tcc,${CC}))
CFLAGS+=-pie
endif
CFLAGS+=-I$(LTOP)/include
ifeq (${COMPILER},emscripten)
LINK+=$(SHLR)/librz_shlr.a
LINK+=$(SHLR)/sdb/src/libsdb.a
include $(SHLR)/capstone.mk
CFLAGS+= -s SIDE_MODULE=1
#CFLAGS+=-s ERROR_ON_UNDEFINED_SYMBOLS=0
#EXT_EXE=.js
#EXT_EXE=.html
EXT_EXE=.bc
#EXT_EXE=.wasm
endif
ifeq ($(USE_RPATH),1)
LDFLAGS+=-Wl,-rpath "${LIBDIR}"
endif
OBJ+=${BIN}.o
BEXE=${BIN}${EXT_EXE}
LDFLAGS+=${DL_LIBS}
ifneq (${ANDROID},1)
ifneq (${OSTYPE},windows)
ifneq (${OSTYPE},linux)
ifneq ($(CC),cccl)
LDFLAGS+=-lpthread
endif
endif
endif
endif
REAL_LDFLAGS=$(subst -shared,,$(LDFLAGS))
ifeq ($(ISLIB),1)
BEXE=$(BIN).$(EXT_SO)
REAL_LDFLAGS+=-shared
endif
#--------------------#
# Rules for programs #
#--------------------#
LDFLAGS+=-lm
# For some reason w32 builds contain -shared in LDFLAGS. boo!
ifneq ($(BIN)$(BINS),)
ifeq ($(OSTYPE),linux)
LDFLAGS+=-static
endif
all: ${BEXE} ${BINS}
ifeq ($(WITH_LIBRZ),1)
${BINS}: ${OBJS}
${CC} ${CFLAGS} $@.c ${OBJS} ../../librz/librz.a -o $@ $(LDFLAGS)
${BEXE}: ${OBJ} ${SHARED_OBJ}
ifeq ($(CC),emcc)
emcc $(BIN).c ../../shlr/librz_shlr.a ../../shlr/capstone/libcapstone.a ../../librz/librz.a ../../shlr/gdb/lib/libgdbr.a ../../shlr/zip/librz.a -I ../../librz/include -o $(BIN).js
else
${CC} ${CFLAGS} $+ -L.. -o $@ ../../librz/librz.a $(LDFLAGS)
endif
else
${BINS}: ${OBJS}
ifneq ($(SILENT),)
@echo CC $@
endif
${CC} ${CFLAGS} $@.c ${OBJS} ${REAL_LDFLAGS} $(LINK) -o $@
# -static fails because -ldl -lpthread static-gcc ...
${BEXE}: ${OBJ} ${SHARED_OBJ}
ifneq ($(SILENT),)
@echo LD $@
endif
${CC} ${CFLAGS} $+ -L.. -o $@ $(REAL_LDFLAGS) $(LINK)
endif
endif
# Dummy myclean rule that can be overridden by the t/ Makefile
# TODO: move to config.mk ? it must be a precondition
myclean:
clean:: myclean
-rm -f ${OBJS} ${OBJ} ${BEXE}
mrproper: clean
-rm -f *.d
install:
cd ../.. && ${MAKE} install
.PHONY: all clean myclean mrproper install

View file

@ -1,12 +0,0 @@
include ../../config-user.mk
BIN=rz-agent
BINDEPS=rz_socket rz_cons rz_util rz_main
ifeq ($(OSTYPE),android)
LDFLAGS+=${DL_LIBS} -lm
endif
include ../../librz/main/deps.mk
include ../rules.mk
LDFLAGS+=$(LINK)

View file

@ -1,11 +0,0 @@
BIN=rz-asm
BINDEPS=rz_main
include ../../config-user.mk
include ../../librz/main/deps.mk
include ../../shlr/zip/deps.mk
include ../../shlr/java/deps.mk
include ../../shlr/capstone.mk
include ../rules.mk
LDFLAGS+=$(LINK)

View file

@ -1,10 +0,0 @@
BIN=rz-ax
BINDEPS=rz_util rz_main
include ../rules.mk
include ../../librz/main/deps.mk
include ../../shlr/zip/deps.mk
include ../../shlr/java/deps.mk
include ../../shlr/gdb/deps.mk
LDFLAGS+=$(LINK)

View file

@ -1,2 +0,0 @@
all:
$(CC) -o rz-bb rz-bb.c -L../../librz/util -lrz_util -I../../librz/include

View file

@ -1,19 +0,0 @@
BIN=rz-bin
BINDEPS=rz_magic rz_core rz_bin rz_egg rz_cons rz_main
BINDEPS+=rz_config rz_io rz_flag rz_asm
BINDEPS+=rz_debug rz_hash rz_lang rz_analysis rz_parse rz_bp rz_reg
BINDEPS+=rz_search rz_syscall rz_socket rz_magic rz_crypto rz_util
include ../rules.mk
include ../../librz/socket/deps.mk
include ../../librz/main/deps.mk
include ../../shlr/zip/deps.mk
include ../../shlr/gdb/deps.mk
include ../../shlr/java/deps.mk
include ../../shlr/bochs/deps.mk
include ../../shlr/qnx/deps.mk
include ../../shlr/ar/deps.mk
include ../../shlr/capstone.mk
LDFLAGS+=$(LINK)

View file

@ -1,22 +0,0 @@
BIN=rz-diff
BINDEPS=rz_core rz_config rz_cons rz_search rz_analysis
BINDEPS+=rz_bin rz_debug rz_io rz_asm rz_hash rz_crypto
BINDEPS+=rz_socket rz_flag rz_lang rz_reg rz_bp rz_parse
BINDEPS+=rz_syscall rz_magic rz_util rz_parse rz_egg rz_main
include ../rules.mk
ifeq ($(OSTYPE),android)
LDFLAGS+=${DL_LIBS} -lm
endif
include ../../librz/socket/deps.mk
include ../../librz/main/deps.mk
include ../../shlr/zip/deps.mk
include ../../shlr/gdb/deps.mk
include ../../shlr/bochs/deps.mk
include ../../shlr/qnx/deps.mk
include ../../shlr/ar/deps.mk
LDFLAGS+=$(LINK)

View file

@ -1,15 +0,0 @@
BIN=rz-find
BINDEPS=rz_search rz_io rz_asm rz_analysis rz_reg rz_cons rz_lang rz_crypto
BINDEPS+=rz_socket rz_parse rz_util rz_syscall rz_flag rz_hash rz_main
include ../rules.mk
include ../../librz/socket/deps.mk
include ../../librz/main/deps.mk
include ../../shlr/zip/deps.mk
include ../../shlr/gdb/deps.mk
include ../../shlr/bochs/deps.mk
include ../../shlr/qnx/deps.mk
include ../../shlr/ar/deps.mk
LDFLAGS+=$(LINK)

View file

@ -1,18 +0,0 @@
BIN=rz-gg
BINDEPS=rz_egg rz_syscall rz_asm
BINDEPS+=rz_core rz_hash rz_debug rz_config rz_bp rz_crypto rz_cons
BINDEPS+=rz_lang rz_parse rz_analysis rz_reg rz_flag rz_crypto
BINDEPS+=rz_bin rz_search rz_io rz_socket
BINDEPS+=rz_magic rz_util rz_main
include ../rules.mk
include ../../librz/main/deps.mk
include ../../shlr/ar/deps.mk
include ../../librz/socket/deps.mk
include ../../shlr/bochs/deps.mk
include ../../shlr/gdb/deps.mk
include ../../shlr/java/deps.mk
include ../../shlr/capstone.mk
include ../../shlr/qnx/deps.mk
LDFLAGS+=$(LINK)

View file

@ -1,20 +0,0 @@
BIN=rz-hash
BINDEPS=rz_main
include ../rules.mk
ifeq ($(OSTYPE),android)
LDFLAGS+=-lm
endif
include ../../librz/socket/deps.mk
include ../../librz/main/deps.mk
include ../../shlr/zip/deps.mk
include ../../shlr/gdb/deps.mk
include ../../shlr/bochs/deps.mk
include ../../shlr/qnx/deps.mk
include ../../shlr/zip/deps.mk
include ../../shlr/ar/deps.mk
LDFLAGS+=$(LINK)

View file

@ -1,8 +0,0 @@
BIN=rz-run
BINDEPS=rz_socket rz_util rz_main
include ../rules.mk
include ../../librz/main/deps.mk
include ../../shlr/zip/deps.mk
include ../../librz/socket/deps.mk
LDFLAGS+=$(LINK)

View file

@ -1,6 +0,0 @@
BIN=rz-sign
BINDEPS=rz_analysis rz_util rz_core rz_search rz_main
LDFLAGS+=$(LINK)
include ../../librz/main/deps.mk
include ../rules.mk

View file

@ -1,8 +0,0 @@
BIN=rz-test
BINDEPS=rz_util
OBJ=load.o run.o
include ../rules.mk
LDFLAGS+=$(CLOCK_LDFLAGS)
LDFLAGS+=$(LINK)

View file

@ -1,100 +0,0 @@
# This file should be generated by the ./configure script
CC=@CC@
WITH_GPL=@WITH_GPL@
# HOST_CC=@HOST_CC@
CSNEXT=@CSNEXT@
DESTDIR=
PREFIX=@PREFIX@
BINDIR=@BINDIR@
LIBDIR=@LIBDIR@
MANDIR=@MANDIR@
DOCDIR=@DOCDIR@
DATADIR=@DATADIR@
INCLUDEDIR=@INCLUDEDIR@
HAVE_LIB_GMP=@HAVE_LIB_GMP@
USE_RPATH=@USE_RPATH@
HAVE_JEMALLOC=@HAVE_JEMALLOC@
HAVE_FORK=@HAVE_FORK@
WANT_DYLINK=@WANT_DYLINK@
WITH_LIBRZ=@WITH_LIBRZ@
WANT_RZ_TEST=@WANT_RZ_TEST@
MKPLUGINS=
COMPILER=@USERCC@
STATIC_DEBUG=0
RUNTIME_DEBUG=1
DEBUGGER=@DEBUGGER@
INSTALL_DIR=@INSTALL_DIR@
INSTALL_DATA=@INSTALL_DATA@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
INSTALL_SCRIPT=@INSTALL_SCRIPT@
INSTALL_MAN=@INSTALL_MAN@
INSTALL_LIB=@INSTALL_LIB@
VERSION=@VERSION@
RZ_VERSION=@VERSION@
RZ_VERSION_MAJOR=@VERSION_MAJOR@
RZ_VERSION_MINOR=@VERSION_MINOR@
RZ_VERSION_PATCH=@VERSION_PATCH@
RZ_VERSION_NUMBER=@VERSION_NUMBER@
LIBVERSION=@LIBVERSION@
# ./configure --with-ostype=[linux,osx,solaris,windows] # TODO: rename to w32, w64?
OSTYPE=@USEROSTYPE@
BUILD_OS=@BUILD_OS@
HOST_OS=@HOST_OS@
# hack: must be fixed in acr
ifeq ($(WANT_DYLINK),1)
ifneq ($(OSTYPE),darwin)
DL_LIBS=@DL_LIBS@
endif
ifeq ($(OSTYPE),qnx)
DL_LIBS=
endif
else
DL_LIBS=
endif
# capstone
USE_CAPSTONE=@USE_CAPSTONE@
ifeq ($(USE_CAPSTONE),1)
CAPSTONE_CFLAGS=@CAPSTONE_CFLAGS@
CAPSTONE_LDFLAGS=@CAPSTONE_LDFLAGS@
else
CAPSTONE_CFLAGS=
CAPSTONE_LDFLAGS=
endif
HAVE_LIB_GMP=@HAVE_LIB_GMP@
HAVE_LIB_SSL=@HAVE_OPENSSL@
HAVE_LIB_MAGIC=@HAVE_LIB_MAGIC@
USE_LIB_MAGIC=@USE_LIB_MAGIC@
HAVE_LIB_XXHASH=@HAVE_LIB_XXHASH@
USE_LIB_XXHASH=@USE_LIB_XXHASH@
USE_LIB_ZIP=@USE_LIB_ZIP@
LIBMAGIC=@LIBMAGIC@
LIBZIP=@LIBZIP@
LIBXXHASH=@LIBXXHASH@
SSL_CFLAGS=@SSL_CFLAGS@
SSL_LDFLAGS=@SSL_LDFLAGS@
HAVE_LIBUV=@HAVE_LIBUV@
LIBUV_CFLAGS=@LIBUV_CFLAGS@
LIBUV_LDFLAGS=@LIBUV_LDFLAGS@
HAVE_PTRACE=@HAVE_PTRACE@
USE_PTRACE_WRAP=@USE_PTRACE_WRAP@
GIT_TIP:=$(shell (git rev-parse HEAD 2>/dev/null || echo HEAD ))
GIT_TAP:=$(shell (git describe --tags 2>/dev/null || echo ${VERSION} ))
CLOCK_LDFLAGS+=@CLOCK_LDFLAGS@
# cache compiler flags at configure time #
CFLAGS+=@CFLAGS@
LDFLAGS+=@LDFLAGS@

817
configure vendored
View file

@ -1,817 +0,0 @@
#!/bin/sh
# This script was automatically generated by ACR v1.9.4
# @author: pancake <nopcode.org>
# @url: http://www.nopcode.org
# @repo: git clone https://github.com/radare/acr
[ -z "${AWK}" ] && AWK=awk
do_remove() {
if [ "${ACR_RMFILES}" ]; then
printf "cleaning temporally files... "
rm -f ${ACR_RMFILES}
echo "done"
fi
}
control_c() {
printf "\n\n^C control-c : script execution interrupted.\n"
do_remove
exit 1
}
trap control_c 2
DEBUGGER=1
USE_MAGIC=0
CSNEXT=0
LOADLIBS=1
WANT_DYLINK=1
HAVE_FORK=1
WANT_PTRACE_WRAP=1
WITH_LIBRZ=0
WITH_CAPSTONE=0
USE_ZIP=0
USE_XXHASH=0
WITH_GPL=1
WANT_OPENSSL=0
WANT_LIBUV=1
USE_RPATH=0
[ -z "${USERCC}" ] && USERCC="gcc"
[ -z "${USEROSTYPE}" ] && USEROSTYPE="auto"
[ -z "${LIBVERSION}" ] && LIBVERSION="xxx"
HAVE_JEMALLOC=1
WANT_RZ_TEST=1
[ -z "${RZ_CHECKS_LEVEL}" ] && RZ_CHECKS_LEVEL="2"
split_host() {
S="$"
while : ; do
ENVWORDS="${ENVWORDS} $1_CPU $1_OS"
STR=`eval "echo ${S}$1"`
SPLIT_CPU="`echo "$STR" | cut -d - -f 1`"
SPLIT_OS="`echo "$STR" | $AWK -F - '{
if ($2=="unknown"){
if (NF<3) { print $2; } else { print $3; }
} else {
if ($2=="linux") { print $2; } else
if (NF<3) { print $2; } else { print $3; }
}
}'`"
eval "$1_CPU=\"$SPLIT_CPU\""
eval "$1_OS=\"$SPLIT_OS\""
shift
[ -z "$1" ] && break
done
}
QUIET=0
be_quiet() {
QUIET=1
}
VPATH=`dirname ${0}`
if [ "${VPATH}" = "." ]; then
WODIS=current
else
if [ "${VPATH}" = "${PWD}" ]; then
VPATH=.
WODIS=current
else
WODIS=crosspath
CURDIR=$PWD
cd $VPATH
VPATH="${PWD}/"
cd $CURDIR
fi
fi
guess_os() {
if [ -e "${VPATH}/config.guess" ]; then
sh ${VPATH}/config.guess
return
fi
CPU="`uname -m|sed -e 's, ,,g'|cut -d - -f 1`"
OS="`uname -s|tr A-Z a-z`"
uname -r | grep -qE "(Microsoft|WSL)" 2>/dev/null && OS="wsl"
GNU="`uname --help 2>&1 | grep gnu`"
[ "${GNU}" ] && OS="${OS}-gnu"
[ "${CPU}" = ppc ] && CPU="powerpc"
echo "${CPU}-unknown-${OS}"
}
SEARCHPATH="/usr /usr/local /usr/pkg /sw"
: ${PREFIX:=/usr/local}
CROSSBUILD=0
BUILD=`guess_os`
HOST="${BUILD}"
TARGET="${HOST}"
SYSCONFDIR=""
create_environ() {
: ${EPREFIX:="${PREFIX}"}
: ${SPREFIX:="${PREFIX}"}
: ${BINDIR:="${SPREFIX}/bin"}
: ${SBINDIR:="${PREFIX}/sbin"}
: ${SYSCONFDIR:="${SPREFIX}/etc"}
: ${LIBDIR:="${SPREFIX}/lib"}
: ${LIBEXECDIR:="${SPREFIX}/libexec"}
: ${INCLUDEDIR:="${SPREFIX}/include"}
: ${DATADIR:="${SPREFIX}/share"}
: ${INFODIR:="${DATADIR}/info"}
: ${MANDIR:="${DATADIR}/man"}
: ${DOCDIR:="${DATADIR}/doc/rizin"}
: ${LOCALSTATEDIR:="${SPREFIX}/var"}
for A in `echo ${PATH} | sed -e 's,:, ,g'` ; do
[ -e "$A"/ginstall ] && : ${INSTALL:="$A"/ginstall} && break
[ -e "$A"/install ] && : ${INSTALL:="$A"/install} && break
done
: ${INSTALL_DIR:=${INSTALL} -d}
: ${INSTALL_DATA:=${INSTALL} -m 644}
: ${INSTALL_SCRIPT:=${INSTALL} -m 755}
: ${INSTALL_PROGRAM:=${INSTALL} -m 755}
: ${INSTALL_PROGRAM_STRIP:=${INSTALL} -m 755 -s}
: ${INSTALL_MAN:=${INSTALL} -m 444}
: ${INSTALL_LIB:=${INSTALL} -m 755 -c}
PKGNAME='rizin' ; VERSION='0.2.0-git' ; VERSION_MAJOR=0; VERSION_MINOR=2; VERSION_PATCH=0; VERSION_NUMBER=00200; CONTACT_MAIL="team@rizin.re" ; CONTACT_NAME="Rizin Core Team" ; CONTACT="Rizin Core Team <team@rizin.re>" ;
}
show_usage() {
cat <<EOF2
'configure' configures rizin-0.2.0-git to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
-r, --report show what libs/programs require to work
-q, --quiet be quiet, less verbose (see ./configure -qV)
-V, --version display version information and exit
Installation directories:
--exec-prefix=EPREFIX install arch-dependent files in EPREFIX [PREFIX]
--prefix=PREFIX install arch-independent files in PREFIX [/usr/local]
--sandbox=SPREFIX sandbox prefix directory: SPREFIX [PREFIX]
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--datadir=DIR read-only architecture-independent data [PREFIX/share]
--docdir=DIR documentation directory [DATADIR/doc/rizin]
--includedir=DIR C header files [PREFIX/include]
--infodir=DIR info documentation [DATADIR/info]
--libexecdir=DIR program executables [EPREFIX/libexec]
--libdir=DIR object code libraries [EPREFIX/lib]
--libpath=DIR set rpath/libname-path to linker
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--mandir=DIR man documentation [DATADIR/man]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
--target=TARGET configure for building compilers for TARGET [HOST]
EOF2
printf "\nOptional Features:
--disable-debugger disable native debugger features
--with-sysmagic force to use system's magic
--with-capstone5 build next branch of the capstone repository
--disable-loadlibs disable loading plugins
--without-dylink disable support for dynamic loading of plugins
--without-fork disable fork
--without-ptrace-wrap disable ptrace-wrap build
--with-librz build librz.a and librz.dylib
--with-syscapstone force to use system-wide capstone
--with-syszip force to use system's libzip and zlib
--with-sysxxhash force to use system's xxhash
--without-gpl do not build GPL code (cxx, ... )
--with-openssl build with openssl if possible
--without-libuv disable libuv dependency
--with-rpath use rpath to build
--with-compiler Define compiler to use (see mk/) (USERCC=gcc)
--with-ostype Choose OS type ( gnulinux windows darwin haiku ) (USEROSTYPE=auto)
--with-libversion specify different libversion (LIBVERSION=xxx)
--without-jemalloc build without jemalloc
--without-rz-test build without rz-test for regression testing
--with-checks-level value between 0 and 3 to enable different level of assert (see RZ_CHECKS_LEVEL) (RZ_CHECKS_LEVEL=2)\n"
printf "\nSome influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
headers in a nonstandard directory <include dir>
CPP C preprocessor\n"
printf "\nReport bugs to: Rizin Core Team <team@rizin.re>"
echo ""
exit 0
}
take_environ() {
: ${SH:=/bin/sh}
: ${CPP:=cpp}
: ${CC:=gcc}
: ${PREFIX:=/usr/local/}
}
ochof() {
[ "$QUIET" = 1 ] && return
printf "$*"
}
ocho() {
[ "$QUIET" = 1 ] && return
echo "$*"
}
show_version() {
if [ "$QUIET" = 1 ]; then
echo "0.2.0-git"
exit 0
fi
echo "rizin-0.2.0-git configuration script done with acr v1.9.4.
The 'Free Software Foundation' message is only for autodetection.
Originally written by pancake <nopcode.org>."
exit 0
}
parse_options() {
flag=`echo $1| cut -d = -f 1`
value=`echo $1| $AWK 'BEGIN{FS="=";}{print $2}'`
flag2=`echo $flag|cut -f2- -d -| sed -e 's,-,_,g' -e 's,^_,,g'|tr '[a-z]' '[A-Z]'`
if [ "${TARGET_OS}" = "darwin" ]; then
LIBPATH=-Wl,-install_name,
else
LIBPATH=-Wl,-R
fi
case $flag in
-h|--help|--hel|--h|--he|-help)
show_usage ; ;;
-qV|-quiet-version|--quiet-version)
be_quiet
show_version ; ;;
-q|-quiet|--quiet)
be_quiet ; ;;
-V|-version|--version)
show_version ; ;;
-r|--r|--report)
echo "PKGNAME: rizin"
echo "VERSION: 0.2.0-git"
echo "LANGS: c"
echo "REQUIRED: libdl"
echo "OPTIONAL: libmagic libz libzip libxxhash libssl liblibuv>=1.0.0"
echo "PKG-CONFIG: capstone openssl libuv"
echo "FLAGS: --disable-debugger --with-sysmagic --with-capstone5 --disable-loadlibs --without-dylink --without-fork --without-ptrace-wrap --with-librz --with-syscapstone --with-syszip --with-sysxxhash --without-gpl --with-openssl --without-libuv --with-rpath --with-compiler=gcc --with-ostype=auto --with-libversion=xxx --without-jemalloc --without-rz-test --with-checks-level=2"
exit 0
;;
--cache-file)
# ignored: acr have no cache
;;
--build)
BUILD="$value"; split_host BUILD ; ;;
--host)
CROSSBUILD=1 # XXX
HOST="$value"; split_host HOST ; ;;
--target)
TARGET="$value"; split_host TARGET ; ;;
--prefix)
PREFIX="$value"; ;;
--exec-prefix)
EPREFIX="$value"; ;;
--sandbox|--sprefix)
SPREFIX="$value"; ;;
--bindir)
BINDIR="$value"; ;;
--sbindir)
SBINDIR="$value"; ;;
--libexecdir)
LIBEXECDIR="$value"; ;;
--docdir)
DOCDIR="$value"; ;;
--datadir)
DATADIR="$value"; ;;
--sysconfdir)
SYSCONFDIR="$value"; ;;
--sharedstatedir)
SHAREDSTATEDIR="$value"; ;;
--localstatedir)
LOCALSTATEDIR="$value"; ;;
--libdir)
LIBDIR="$value"; ;;
--libpath)
LDFLAGS="${LDFLAGS} ${LIBPATH}$value"; ;;
--includedir)
INCLUDEDIR="$value"; CFLAGS="${CFLAGS} -I$value"; ;;
--infodir)
INFODIR="$value"; ;;
--mandir)
MANDIR="$value"; ;;
"--disable-debugger") DEBUGGER="0"; ;;
"--with-sysmagic") USE_MAGIC="1"; ;;
"--with-capstone5") CSNEXT="1"; ;;
"--disable-loadlibs") LOADLIBS="0"; ;;
"--without-dylink") WANT_DYLINK="0"; ;;
"--without-fork") HAVE_FORK="0"; ;;
"--without-ptrace-wrap") WANT_PTRACE_WRAP="0"; ;;
"--with-librz") WITH_LIBRZ="1"; ;;
"--with-syscapstone") WITH_CAPSTONE="1"; ;;
"--with-syszip") USE_ZIP="1"; ;;
"--with-sysxxhash") USE_XXHASH="1"; ;;
"--without-gpl") WITH_GPL="0"; ;;
"--with-openssl") WANT_OPENSSL="1"; ;;
"--without-libuv") WANT_LIBUV="0"; ;;
"--with-rpath") USE_RPATH="1"; ;;
--with-compiler) if [ -z "${value}" ]; then USERCC="gcc"; else USERCC="${value}" ; fi ;;
--with-ostype) if [ -z "${value}" ]; then USEROSTYPE="auto"; else USEROSTYPE="${value}" ; fi ;;
--with-libversion) if [ -z "${value}" ]; then LIBVERSION="xxx"; else LIBVERSION="${value}" ; fi ;;
"--without-jemalloc") HAVE_JEMALLOC="0"; ;;
"--without-rz-test") WANT_RZ_TEST="0"; ;;
--with-checks-level) if [ -z "${value}" ]; then RZ_CHECKS_LEVEL="2"; else RZ_CHECKS_LEVEL="${value}" ; fi ;;
*) if [ "$value" ]; then eval "`echo $flag2=$value`" ;
else echo ; echo "WARNING: Unknown flag '$flag'." >&2 ; echo ; fi ;;
esac
}
# MAIN #
take_environ
split_host BUILD HOST TARGET
[ -z "$ACRHOOK" ] && ACRHOOK=./configure.hook
[ -e "$ACRHOOK" ] && . ${ACRHOOK}
while : ; do
[ -z "$1" ] && break
parse_options "$1"
shift
done
ENVWORDS="MANDIR INFODIR LIBDIR INCLUDEDIR LOCALSTATEDIR SYSCONFDIR DATADIR DOCDIR LIBEXECDIR SBINDIR BINDIR EPREFIX PREFIX SPREFIX TARGET HOST BUILD INSTALL INSTALL_LIB INSTALL_MAN INSTALL_PROGRAM INSTALL_PROGRAM_STRIP INSTALL_DIR INSTALL_SCRIPT INSTALL_DATA HOST_OS HOST_CPU BUILD_OS BUILD_CPU TARGET_OS TARGET_CPU VERSION VERSION_MAJOR VERSION_MINOR VERSION_PATCH VERSION_NUMBER PKGNAME VPATH CONTACT CONTACT_NAME CONTACT_MAIL CC CFLAGS CPPFLAGS LDFLAGS HAVE_LANG_C DEBUGGER HAVE_LIB_DL DL_LIBS HAVE_PATCH PATCH HAVE_GIT GIT HAVE_LIB_MAGIC USE_MAGIC USE_LIB_MAGIC LIBMAGIC CSNEXT LOADLIBS WANT_DYLINK HAVE_FORK WANT_PTRACE_WRAP WITH_LIBRZ WITH_CAPSTONE CAPSTONE_CFLAGS CAPSTONE_LDFLAGS HAVE_PKGCFG_CAPSTONE USE_CAPSTONE HAVE_LIB_Z HAVE_LIB_ZIP USE_ZIP USE_LIB_ZIP LIBZIP HAVE_LIB_XXHASH USE_XXHASH USE_LIB_XXHASH LIBXXHASH WITH_GPL HAVE_DECL_ADDR_NO_RANDOMIZE HAVE_DECL___GLIBC__ HAVE_ARC4RANDOM_UNIFORM HAVE_EXPLICIT_BZERO HAVE_EXPLICIT_MEMSET HAVE_CLOCK_NANOSLEEP HAVE_SIGACTION HAVE_CLOCK_GETTIME HAVE_PIPE HAVE_EXECV HAVE_EXECVE HAVE_EXECVP HAVE_EXECL HAVE_SYSTEM HAVE_PIPE2 CLOCK_LDFLAGS SUPPORT_GNU99 SUPPORT_C99 HAVE_LIB_GMP HAVE_LIB_SSL SSL_CFLAGS SSL_LDFLAGS HAVE_PKGCFG_OPENSSL HAVE_OPENSSL WANT_OPENSSL HAVE_LIBUV_VERSION_1_0_0 LIBUV_CFLAGS LIBUV_LDFLAGS HAVE_PKGCFG_LIBUV HAVE_LIBUV WANT_LIBUV USE_RPATH USERCC USEROSTYPE LIBVERSION HAVE_JEMALLOC HAVE_PTRACE USE_PTRACE_WRAP WANT_RZ_TEST RZ_CHECKS_LEVEL"
create_environ
ocho "checking build system type... ${BUILD}"
ocho "checking host system type... ${HOST}"
ocho "checking target system type... ${TARGET}"
[ "${CROSSBUILD}" = 1 ] && echo "using crosscompilation mode."
#split_host BUILD HOST TARGET
[ -n "${prefix}" ] && PREFIX="${prefix}"
ocho "checking for working directories... ${WODIS}"
ocho "using prefix '${PREFIX}'"
ACR_RMFILES=" test.c a.out a.exe"
COMPILER=CC
printf "checking for c compiler... "
HAVE_LANG_C=1
if [ "${CROSSBUILD}" = 1 ]; then
(command -v ${HOST}-${CC} >/dev/null 2>&1)
if [ $? = 0 ]; then CC="${HOST}-${CC}"; fi
fi
echo "int main(int argc, char **argv){return 0;}" > test.c
(exec ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c >/dev/null 2>&1)
if [ $? = 0 ]; then echo ${CC}; else
echo no ; HAVE_LANG_C=0
do_remove
echo "ERROR: ${CC} cannot create executables" >&2 ;
exit 1 ; fi
printf "checking for dynamic library... "
HAVE_LIB_DL=0
for OS in gnulinux linux gnu/kfreebsd syllable sunos darwin beos solaris wsl ; do
if [ "${HOST_OS}" = "${OS}" ]; then
HAVE_LIB_DL=1
break;
fi
done
if [ "${HAVE_LIB_DL}" = 1 ]; then
DL_LIBS="-ldl"
echo "required"
else
DL_LIBS=""
echo "libc"
fi
ochof "checking for patch... "
if [ -x "${PATCH}" ]; then
FIND=${PATCH}
else
FIND=""
IFS=:
for A in ${PATH} ; do
if [ -x "${A}/patch" ]; then
FIND="${A}/patch"
break;
fi
done
unset IFS
fi
if [ -n "${FIND}" ]; then
ocho ${FIND};
HAVE_PATCH=1
PATCH=${FIND}
else
HAVE_PATCH=0
PATCH=patch
if [ "" = 1 ]; then
echo "Cannot find patch" >&2
else
echo no
fi
echo "error: This program is required." >&2
exit 1 ; fi
ochof "checking for git... "
if [ -x "${GIT}" ]; then
FIND=${GIT}
else
FIND=""
IFS=:
for A in ${PATH} ; do
if [ -x "${A}/git" ]; then
FIND="${A}/git"
break;
fi
done
unset IFS
fi
if [ -n "${FIND}" ]; then
ocho ${FIND};
HAVE_GIT=1
GIT=${FIND}
else
HAVE_GIT=0
GIT=git
if [ "" = 1 ]; then
echo "Cannot find git" >&2
else
echo no
fi ; fi
check_library() {
VAR=$1
S="$"
_REQUIRED=$3
_CHKLIB_NAME=$2
_CHKLIB_LIBS=$(echo "-l${_CHKLIB_NAME}" | sed 's,+, -l,g')
printf "checking for lib${_CHKLIB_NAME} ... "
echo "int main(int ac, char **av){return 0;}" > test.c
eval ${S}${COMPILER} ${CFLAGS} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} ${_CHKLIB_LIBS} test.c >/dev/null 2>&1
if [ $? = 0 ]; then
eval ${VAR}=1
echo yes
else
eval ${VAR}=0
echo no
if [ "${_REQUIRED}" = 1 ]; then
echo "this library is required."
do_remove
exit 1
fi
fi
}
check_library HAVE_LIB_MAGIC magic 0
if [ 11 = "$HAVE_LIB_MAGIC$USE_MAGIC" ]; then
USE_LIB_MAGIC="1"
LIBMAGIC="-lmagic"
else
USE_LIB_MAGIC="0"
LIBMAGIC=""; fi
if [ "$WITH_CAPSTONE" = "1" ]; then
[ -z "${PKGCONFIG}" ] && PKGCONFIG=pkg-config
type ${PKGCONFIG} > /dev/null 2>&1 || echo "ERROR: Cannot find PKGCONFIG ${PKGCONFIG}"
echo 'Using PKGCONFIG: '${PKGCONFIG}
printf 'checking pkg-config flags for capstone... '
tmp=`${PKGCONFIG} --cflags capstone 2>/dev/null`
if [ $? != 0 ]; then echo no ; HAVE_PKGCFG_CAPSTONE=0;
CAPSTONE_CFLAGS='';CAPSTONE_LDFLAGS='';
else
CAPSTONE_CFLAGS=$tmp;
tmp=`${PKGCONFIG} --libs capstone 2>/dev/null`
if [ $? = 0 ]; then
echo yes; HAVE_PKGCFG_CAPSTONE=1;
CAPSTONE_LDFLAGS=$tmp; fi; fi; fi
if [ 11 = "$WITH_CAPSTONE$HAVE_PKGCFG_CAPSTONE" ]; then
USE_CAPSTONE="1"
else
USE_CAPSTONE="0"; fi
check_library HAVE_LIB_Z z 0
check_library HAVE_LIB_ZIP zip 0
if [ 11 = "$HAVE_LIB_Z$USE_ZIP" ]; then
if [ "$HAVE_LIB_ZIP" = "1" ]; then
USE_LIB_ZIP="1"
LIBZIP="-lz -lzip"
else
USE_LIB_ZIP="0"
LIBZIP=""; fi
else
USE_LIB_ZIP="0"
LIBZIP=""; fi
check_library HAVE_LIB_XXHASH xxhash 0
if [ 11 = "$HAVE_LIB_XXHASH$USE_XXHASH" ]; then
USE_LIB_XXHASH="1"
LIBXXHASH="-lxxhash"
else
USE_LIB_XXHASH="0"
LIBXXHASH=""; fi
printf "checking declaration of ADDR_NO_RANDOMIZE in sys/personality.h... "
echo "#include <sys/personality.h>" > test.c
echo "int main(int ac, char **av){ void *a = ADDR_NO_RANDOMIZE; return 0; }" >> test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_DECL_ADDR_NO_RANDOMIZE=1
else
HAVE_DECL_ADDR_NO_RANDOMIZE=0 ; echo no ; fi
printf "checking declaration of __GLIBC__ in features.h... "
echo "#include <features.h>" > test.c
echo "int main(int ac, char **av){ void *a = __GLIBC__; return 0; }" >> test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_DECL___GLIBC__=1
else
HAVE_DECL___GLIBC__=0 ; echo no ; fi
printf "checking function arc4random_uniform() in c... "
echo "int main(int ac, char **av){ arc4random_uniform(0); return 0; }" > test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -lc test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_ARC4RANDOM_UNIFORM=1
else
HAVE_ARC4RANDOM_UNIFORM=0 ; echo no ; fi
printf "checking function explicit_bzero() in c... "
echo "int main(int ac, char **av){ explicit_bzero(0); return 0; }" > test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -lc test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_EXPLICIT_BZERO=1
else
HAVE_EXPLICIT_BZERO=0 ; echo no ; fi
printf "checking function explicit_memset() in c... "
echo "int main(int ac, char **av){ explicit_memset(0); return 0; }" > test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -lc test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_EXPLICIT_MEMSET=1
else
HAVE_EXPLICIT_MEMSET=0 ; echo no ; fi
printf "checking function clock_nanosleep() in c... "
echo "int main(int ac, char **av){ clock_nanosleep(0); return 0; }" > test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -lc test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_CLOCK_NANOSLEEP=1
else
HAVE_CLOCK_NANOSLEEP=0 ; echo no ; fi
printf "checking function sigaction() in c... "
echo "int main(int ac, char **av){ sigaction(0); return 0; }" > test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -lc test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_SIGACTION=1
else
HAVE_SIGACTION=0 ; echo no ; fi
printf "checking function clock_gettime() in c... "
echo "int main(int ac, char **av){ clock_gettime(0); return 0; }" > test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -lc test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_CLOCK_GETTIME=1
else
HAVE_CLOCK_GETTIME=0 ; echo no ; fi
printf "checking function pipe() in c... "
echo "int main(int ac, char **av){ pipe(0); return 0; }" > test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -lc test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_PIPE=1
else
HAVE_PIPE=0 ; echo no ; fi
printf "checking function execv() in c... "
echo "int main(int ac, char **av){ execv(0); return 0; }" > test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -lc test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_EXECV=1
else
HAVE_EXECV=0 ; echo no ; fi
printf "checking function execve() in c... "
echo "int main(int ac, char **av){ execve(0); return 0; }" > test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -lc test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_EXECVE=1
else
HAVE_EXECVE=0 ; echo no ; fi
printf "checking function execvp() in c... "
echo "int main(int ac, char **av){ execvp(0); return 0; }" > test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -lc test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_EXECVP=1
else
HAVE_EXECVP=0 ; echo no ; fi
printf "checking for HAVE_EXECL... "
echo "#include <unistd.h>" > temp.c ; echo "int main(int argc, char **argv) { void *x = (void *)execl; return 0;}" >> temp.c ; ${CC} temp.c ; HAVE_EXECL=$? ; rm -f temp.c
if [ "$HAVE_EXECL" = 0 ]; then
HAVE_EXECL=1
echo yes
else
HAVE_EXECL=0
echo no
fi
printf "checking function system() in c... "
echo "int main(int ac, char **av){ system(0); return 0; }" > test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -lc test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_SYSTEM=1
else
HAVE_SYSTEM=0 ; echo no ; fi
printf "checking function pipe2() in c... "
echo "int main(int ac, char **av){ pipe2(0); return 0; }" > test.c
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -lc test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; HAVE_PIPE2=1
else
HAVE_PIPE2=0 ; echo no ; fi
if [ "$HAVE_CLOCK_GETTIME" = "0" ]; then
if [ "$HAVE_DECL___GLIBC__" = "1" ]; then
CLOCK_LDFLAGS="${CLOCK_LDFLAGS} '-lrt'"; fi; fi
printf "checking cflags -std=gnu99... "
echo "int main(int ac, char **av){ return 0; }" > .test.c
${CC} -std=gnu99 ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -std=gnu99 .test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; SUPPORT_GNU99=1
else
SUPPORT_GNU99=0 ; echo no ; fi
if [ "$SUPPORT_GNU99" = "1" ]; then
CFLAGS="${CFLAGS} '-std=gnu99'"
else
printf "checking cflags -std=c99... "
echo "int main(int ac, char **av){ return 0; }" > .test.c
${CC} -std=c99 ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -std=c99 .test.c >/dev/null 2>&1
if [ $? = 0 ]; then
echo yes ; SUPPORT_C99=1
else
SUPPORT_C99=0 ; echo no ; fi
if [ "$SUPPORT_C99" = "1" ]; then
CFLAGS="${CFLAGS} '-std=c99'"; fi; fi
HAVE_LIB_GMP="0"
check_library HAVE_LIB_SSL ssl 0
[ -z "${PKGCONFIG}" ] && PKGCONFIG=pkg-config
printf 'checking pkg-config flags for openssl... '
tmp=`${PKGCONFIG} --cflags openssl 2>/dev/null`
if [ $? != 0 ]; then echo no ; HAVE_PKGCFG_OPENSSL=0;
SSL_CFLAGS='';SSL_LDFLAGS='';
else
SSL_CFLAGS=$tmp;
tmp=`${PKGCONFIG} --libs openssl 2>/dev/null`
if [ $? = 0 ]; then
echo yes; HAVE_PKGCFG_OPENSSL=1;
SSL_LDFLAGS=$tmp; fi; fi
if [ ! "$SSL_LDFLAGS" = "" ]; then
HAVE_OPENSSL="1"; fi
if [ 11 = "$WANT_OPENSSL$HAVE_OPENSSL" ]; then
HAVE_OPENSSL="1"
else
HAVE_OPENSSL="0"; fi
if [ "$SSL_LDFLAGS" = "" ]; then
if [ "$HAVE_LIB_SSL" = "0" ]; then
HAVE_OPENSSL="0"
else
SSL_LDFLAGS="-lssl"; fi; fi
HAVE_LIBUV_VERSION_1_0_0=0
printf "checking version of library libuv >= 1.0.0... "
${PKGCONFIG} --atleast-version=1.0.0 libuv >/dev/null 2>&1
if [ $? = 0 ]; then HAVE_LIBUV_VERSION_1_0_0=1 ; echo ok; else
echo "no" ; fi
if [ "$HAVE_LIBUV_VERSION_1_0_0" = "1" ]; then
[ -z "${PKGCONFIG}" ] && PKGCONFIG=pkg-config
printf 'checking pkg-config flags for libuv... '
tmp=`${PKGCONFIG} --cflags libuv 2>/dev/null`
if [ $? != 0 ]; then echo no ; HAVE_PKGCFG_LIBUV=0;
LIBUV_CFLAGS='';LIBUV_LDFLAGS='';
else
LIBUV_CFLAGS=$tmp;
tmp=`${PKGCONFIG} --libs libuv 2>/dev/null`
if [ $? = 0 ]; then
echo yes; HAVE_PKGCFG_LIBUV=1;
LIBUV_LDFLAGS=$tmp; fi; fi
if [ ! "$LIBUV_LDFLAGS" = "" ]; then
HAVE_LIBUV="1"
else
HAVE_LIBUV="0"; fi
if [ "$WANT_LIBUV" = "0" ]; then
HAVE_LIBUV="0"; fi
else
HAVE_LIBUV="0"; fi
if [ "$USEROSTYPE" = "auto" ]; then
if [ "$HOST_OS" = "linux" ]; then
USEROSTYPE="gnulinux"
else
if [ "$HOST_OS" = "gnu" ]; then
USEROSTYPE="gnulinux"
HAVE_LIB_DL="1"
DL_LIBS="-ldl"
else
if [ "$HOST_OS" = "sunos" ]; then
USEROSTYPE="solaris"
else
if [ "$HOST_OS" = "gnu/kfreebsd" ]; then
USEROSTYPE="bsd"
else
if [ "$HOST_OS" = "netbsd" ]; then
USEROSTYPE="bsd"
else
if [ "$HOST_OS" = "freebsd" ]; then
USEROSTYPE="bsd"
else
if [ "$HOST_OS" = "openbsd" ]; then
USEROSTYPE="bsd"
else
if [ "$HOST_OS" = "darwin" ]; then
USEROSTYPE="darwin"
else
if [ "$HOST_OS" = "haiku" ]; then
USEROSTYPE="haiku"; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi;
if [ "$LIBVERSION" = "xxx" ]; then
LIBVERSION="$VERSION"; fi
if [ "$USEROSTYPE" = "gnulinux" ]; then
HAVE_PTRACE="1"
USE_PTRACE_WRAP="1"
else
if [ "$USEROSTYPE" = "wsl" ]; then
BUILD="${SPLIT_CPU}-unknown-linux-gnu"
HOST="$BUILD"
TARGET="$HOST"
USEROSTYPE="gnulinux"
HAVE_PTRACE="1"
USE_PTRACE_WRAP="0"
else
if [ "$USEROSTYPE" = "android" ]; then
HAVE_PTRACE="1"
USE_PTRACE_WRAP="1"
else
if [ "$USEROSTYPE" = "solaris" ]; then
HAVE_PTRACE="0"
USE_PTRACE_WRAP="0"
else
if [ "$USEROSTYPE" = "haiku" ]; then
HAVE_PTRACE="0"
USE_PTRACE_WRAP="0"
else
HAVE_PTRACE="1"
USE_PTRACE_WRAP="0"; fi; fi; fi; fi; fi
if [ "$DEBUGGER" = "0" ]; then
HAVE_PTRACE="0"; fi
if [ "$WANT_PTRACE_WRAP" = "0" ]; then
USE_PTRACE_WRAP="0"; fi
SEDFLAGS=" -e '"
COUNT=0
for A in ${ENVWORDS} ; do
[ "${A}" = VPATH ] && continue
[ "${A}" = srcdir ] && continue
eval "VAR=\$${A}"
VAR="`echo ${VAR} | sed -e 's/\,/\\\,/g'`"
[ $COUNT = 10 ] && COUNT=0 && SEDFLAGS="${SEDFLAGS}' -e '"
COUNT=$(($COUNT+1))
SEDFLAGS="${SEDFLAGS}s,@${A}@,${VAR},g;"
done
SEDFLAGS="${SEDFLAGS}'"
for A in ./config-user.mk librz/include/rz_userconf.h pkgcfg/rz_io.pc pkgcfg/rz_magic.pc pkgcfg/rz_asm.pc pkgcfg/rz_bin.pc pkgcfg/rz_analysis.pc pkgcfg/rz_hash.pc pkgcfg/rz_cons.pc pkgcfg/rz_core.pc pkgcfg/rz_lang.pc pkgcfg/rz_socket.pc pkgcfg/rz_debug.pc pkgcfg/rz_reg.pc pkgcfg/rz_config.pc pkgcfg/rz_flag.pc pkgcfg/rz_syscall.pc pkgcfg/rz_util.pc pkgcfg/rz_search.pc pkgcfg/rz_bp.pc pkgcfg/rz_parse.pc pkgcfg/rz_egg.pc pkgcfg/rz_crypto.pc ; do # SUBDIRS
if [ -f "${VPATH}/${A}.acr" ]; then
SD_TARGET=${A}
else
if [ -d "${VPATH}/${A}" ]; then
SD_TARGET=${A}/Makefile
mkdir -p ${A}
else
echo "ERROR: Cannot find ${VPATH}/${A}.acr" >&2
exit 1
fi
fi
ocho "creating ${SD_TARGET}"
mkdir -p $(echo ${A} | sed -e "s,/`basename ${A}`$,,g")
cat ${VPATH}/${SD_TARGET}.acr | \
eval sed -e "s,@VPATH@,${VPATH}/${A},g" ${SEDFLAGS} > ${SD_TARGET}.tmp
for A in ${ENVWORDS}; do
VALUE=`eval echo "$"${A}`
if [ "$VALUE" = 0 ]; then ## FALSE
MARK="##${A}##"
if [ -n "`grep \"${MARK}\" ${SD_TARGET}.tmp`" ]; then
mv ${SD_TARGET}.tmp ${SD_TARGET}.tmp2
cat ${SD_TARGET}.tmp2 | MARK=$MARK $AWK 'BEGIN{a=0;}{if($1==ENVIRON["MARK"]){if(a)a=0;else a=1}else{if(!a)print;}}' > ${SD_TARGET}.tmp
fi
fi
done
mv ${SD_TARGET}.tmp ${SD_TARGET} && rm -f ${SD_TARGET}.tmp2
if [ ! $? = 0 ]; then echo Cannot write target file ; control_c ; fi
done
do_remove
if [ "$QUIET" = 0 ]; then
echo
echo "Final report:"
for A in RZ_CHECKS_LEVEL WANT_RZ_TEST PREFIX HAVE_LIB_GMP HAVE_OPENSSL HAVE_LIBUV USE_CAPSTONE HAVE_PTRACE USE_PTRACE_WRAP HAVE_FORK VERSION USE_LIB_ZIP USE_LIB_MAGIC USE_LIB_XXHASH DEBUGGER CC USERCC HAVE_ARC4RANDOM_UNIFORM HAVE_EXPLICIT_BZERO HAVE_EXPLICIT_MEMSET WANT_DYLINK USEROSTYPE LIBVERSION BUILD HOST TARGET ; do
eval VAL="\$${A}"
[ -z "${VAL}" ] && VAL="(null)"
echo " - ${A} = ${VAL}"
done
fi

View file

@ -1,251 +0,0 @@
#!/bin/sh
#
# Script to configure "staticability" of plugins
# author: pancake // nopcode
# update: 2010-01-14
#
LANG=C
LC_ALL=C
LOADLIBS=1
export LANG
export LC_ALL
list () {
for a in $STATIC ; do echo "static $a" ; done
for a in $SHARED ; do echo "shared $a" ; done
exit 0
}
help () {
echo "Usage: ./configure-plugins [options]"
echo " -n do nothing.. do not generate any file"
echo " --list list all static and shared plugins"
echo " --rm-static [dir] remove plugins that are already in core from dir"
echo " --static [name ..] define named plugin as static"
echo " --shared [name ..] define named plugin as shared"
echo " --help, -h display this helpful message"
echo "NOTE: static plugins are compiled inside the owner library"
exit 0
}
cfg=./plugins.cfg
if [ ! -f "$cfg" ]; then
cp -f ./plugins.def.cfg plugins.cfg
fi
load () {
if [ -e $cfg ]; then
echo "configure-plugins: Loading $cfg .."
. $cfg
else
echo "configure-plugins: Loading $1 .."
. "$1" #plugins.def.cfg
fi
}
save () {
cp $cfg plugins.cfg
# echo "STATIC=\"$STATIC\"" > $cfg
# echo "SHARED=\"$SHARED\"" >>$cfg
}
generate_configh () {
plugins=""
oldlib=""
for a in ${STATIC} ; do
lib=$(echo $a | cut -d . -f 1) # library
plg=$(echo $a | cut -d . -f 2) # plugin name
if [ ! "$oldlib" = "$lib" ]; then
[ -n "$oldlib" ] && echo " 0"
oldlib=$lib
if type perl > /dev/null 2>&1 ; then
uclib=$(echo $lib | perl -pe 'tr/[a-z]/[A-Z]/')
else
uclib=$(echo $lib | tr '[a-z]' '[A-Z]')
fi
echo
echo "#define RZ_${uclib}_STATIC_PLUGINS \\"
plugins="${plugins} __${uclib}"
fi
echo " &rz_${lib}_plugin_${plg}, \\"
done
[ -n "$oldlib" ] && echo " 0"
# FILL EMPTY PLUGIN ARRAYS WITH LOVE
for a in ${SHARED} ; do
lib=$(echo $a | cut -d . -f 1) # library
plg=$(echo $a | cut -d . -f 2) # plugin name
if [ ! "$oldlib" = "$lib" ]; then
oldlib=$lib
if type perl > /dev/null 2>&1; then
uclib=$(echo $lib | perl -pe 'tr/[a-z]/[A-Z]/')
else
uclib=$(echo $lib | tr '[a-z]' '[A-Z]')
fi
if [ -z "`echo ${plugins} | grep __${uclib}`" ]; then
plugins="${plugins} __${uclib}"
echo
echo "#define RZ_${uclib}_STATIC_PLUGINS 0"
fi
fi
done
}
generate_configmk () {
plugins=""
oldlib=""
for a in ${STATIC} ; do
lib=$(echo $a | cut -d . -f 1) # library
plg=$(echo $a | cut -d . -f 2) # plugin name
if [ ! "$oldlib" = "$lib" ]; then
[ -n "$oldlib" ] && printf "\n"
oldlib=$lib
if type perl > /dev/null 2>&1 ; then
uclib=$(echo $lib | perl -pe 'tr/[a-z]/[A-Z]/')
else
uclib=$(echo $lib | tr '[a-z]' '[A-Z]')
fi
printf "STATIC_${uclib}_PLUGINS= "
plugins="${plugins} __${uclib}"
fi
printf "p/${plg}.mk "
done
echo
# fill the holes with love
for a in ${SHARED} ; do
lib=$(echo $a | cut -d . -f 1) # library
if type perl > /dev/null 2>&1 ; then
uclib=$(echo $lib | perl -pe 'tr/[a-z]/[A-Z]/')
else
uclib=$(echo $lib | tr '[a-z]' '[A-Z]')
fi
if [ -z "`echo ${plugins} | grep __${uclib}`" ]; then
plugins="${plugins} __${uclib}"
echo "STATIC_${uclib}_PLUGINS="
fi
done
}
generate () {
echo "configure-plugins: Generating librz/config.h .."
cat librz/config.h.head > librz/config.h
echo "#define RZ_LOADLIBS ${LOADLIBS}" >> librz/config.h
generate_configh >> librz/config.h
cat librz/config.h.tail >> librz/config.h
echo "configure-plugins: Generating librz/config.mk .."
cat librz/config.mk.head > librz/config.mk
generate_configmk >> librz/config.mk
cat librz/config.mk.tail >> librz/config.mk
return
}
add () {
for a in $1 ; do [ $a = $2 ] && return ; done ; echo $1 $2
}
sub () {
n="" ; for a in $1 ; do [ $a = $2 ] && continue ; n="$n $a" ; done ; echo $n
}
echo | sort -t. > /dev/null 2>&1
if [ $? = 0 ]; then
SORT="sort -t."
else
SORT="sort"
fi
dosort () {
( for a in $1 ; do echo $a ; done ) | tr _ Z | ${SORT} | tr Z _
#( for a in $1 ; do echo $a ; done ) | sort -t. --key=1,1d
}
sort_vars () {
STATIC=$(dosort "$STATIC")
SHARED=$(dosort "$SHARED")
}
make_static () {
STATIC=$(add "$STATIC" $1)
SHARED=$(sub "$SHARED" $1)
}
make_shared () {
SHARED=$(add "$SHARED" $1)
STATIC=$(sub "$STATIC" $1)
}
make_ () { : ; }
MODE=""
DONOTHING=0
DEFCFG=./plugins.def.cfg
rmstatic() {
C=0
if [ -z "$1" ]; then
echo "Missing argument"
exit 1
fi
for a in ${STATIC} ; do
b="`echo $a | tr . _`"
for ext in dll dylib so ; do
f="$b.$ext"
if [ -f "$f" ]; then
C=$(($C+1))
printf " $C found\r"
#echo "rm -f $f"
rm -f "$f"
fi
done
done
echo "Removed $C shared plugins that are already static"
}
RMSTATIC=-
while : ; do
[ -z "$1" ] && break
case "$1" in
"--static") MODE=static ; ;;
"--shared") MODE=shared ; ;;
"--without-gpl") DEFCFG=./plugins.nogpl.cfg ;;
"--disable-loadlibs") LOADLIBS=0 ;;
"--rm-static") RMSTATIC="$2" ; ;;
"--list") sort_vars ; list ; ;;
"-n") DONOTHING=1 ; ;;
"-h"|"--help") help ; ;;
*) eval make_$MODE $1 ; ;;
esac
shift
done
load ${DEFCFG}
sort_vars
if [ - != "${RMSTATIC}" ]; then
if [ -z "${RMSTATIC}" ]; then
echo "Missing argument" >&2
exit
fi
if [ -d "${RMSTATIC}" ]; then
cd "${RMSTATIC}" && rmstatic "${RMSTATIC}"
fi
exit 0
fi
[ ${DONOTHING} = 0 ] && generate
echo SHARED: ${SHARED}
echo STATIC: ${STATIC}
save
exit 0

View file

@ -1,10 +0,0 @@
#!/bin/sh
case "$1" in
--report|-r|--version|-qV|--quiet-version|--help)
: # nothing to do here
;;
*)
[ plugins.def.cfg -nt ./plugins.cfg ] && rm -f plugins.cfg
./configure-plugins $*
;;
esac

69
env.sh
View file

@ -1,69 +0,0 @@
#!/bin/sh
getabsolutepath() {
[ -d "$1" ] && { cd "$1"; echo "$(pwd -P)"; } ||
{ cd "$(dirname "$1")"; echo "$(pwd -P)/$(basename "$1")"; }
}
pfx=$(getabsolutepath "$1")
if [ -z "$1" ]; then
echo "Usage: ./env.sh [destdir|prefix] [program]"
exit 1
fi
if [ ! -d "$pfx" ]; then
echo "Cannot find $pfx directory"
exit 1
fi
# Support DESTDIR
if [ -d "$pfx/usr/bin" ]; then
pfx="$pfx/usr"
fi
new_env='
RZ_ENV_IS_SET=1
RZ_LIBR_PLUGINS=${pfx}/lib/rizin
PATH=$pfx/bin:${PATH}
LD_LIBRARY_PATH=$pfx/lib:$LD_LIBRARY_PATH
DYLD_LIBRARY_PATH=$pfx/lib:$DYLD_LIBRARY_PATH
PKG_CONFIG_PATH=$pfx/lib/pkgconfig:$PKG_CONFIG_PATH
'
shift
if [ "$RZ_ENV_IS_SET" = 1 ]; then
echo "Nested call"
exec $*
exit $?
fi
if [ -z "$*" ]; then
echo
echo "==> Entering rizin environment shell..."
echo
echo $new_env $* \
| sed -e 's, ,\n,g' \
| sed -e 's,^, ,g' \
| sed -e 's,$, \\,'
echo
export PS1="rz-env.sh$ "
eval $new_env $SHELL
echo
echo "==> Back to system shell..."
echo
else
if [ "$#" -gt 1 ]; then
par=""
p=0
while : ; do
p=$(($p+1))
[ $p -gt $# ] && break
a=`eval echo "\$\{$p\}"`
par="$par\"$a\" "
done
eval $new_env $par
else
eval $new_env $*
fi
fi

View file

@ -1,45 +0,0 @@
ifeq ($(_INCLUDE_GLOBAL_MK_),)
_INCLUDE_GLOBAL_MK_=1
DESTDIR=
COMPILER?=gcc
TOP:=$(dir $(lastword $(MAKEFILE_LIST)))
LTOP:=$(TOP)/librz
STOP:=$(TOP)/shlr
BTOP:=$(TOP)/binrz
ifeq ($(MAKEFLAGS),s)
SILENT=1
else
SILENT=
endif
ifndef USE_GIT_URLS
GIT_PREFIX=https://
else
GIT_PREFIX=git://
endif
# verbose error messages everywhere
STATIC_DEBUG=0
rmdblslash=$(subst //,/,$(subst //,/,$(subst /$$,,$1)))
.c:
ifneq ($(SILENT),)
@echo LD $<
endif
$(CC) $(LDFLAGS) -c $(CFLAGS) -o $@ $<
.c.o:
ifneq ($(SILENT),)
@echo "CC $(shell basename $<)"
endif
$(CC) -c $(CFLAGS) -o $@ $<
-include $(TOP)/config-user.mk
-include $(TOP)/mk/platform.mk
-include $(TOP)/mk/${COMPILER}.mk
WWWROOT=${DATADIR}/rizin/${VERSION}/www
endif

View file

@ -1,294 +0,0 @@
include ../global.mk
include config.mk
include ../config-user.mk
include ../mk/platform.mk
include ../mk/${COMPILER}.mk
include ${SHLR}/zip/deps.mk
DESTDIR:=$(DESTDIR)
PREFIX?=${PWD}/../prefix
OBJCOPY?=objcopy
S=$
B=`
PWD=$(shell pwd)
include libs.mk
.PHONY: $(LIBS)
all:
ifneq ($(LIBS0),)
$(MAKE) $(LIBS0)
endif
ifneq ($(LIBS1),)
$(MAKE) $(LIBS1)
endif
ifneq ($(LIBS2),)
$(MAKE) $(LIBS2)
endif
ifneq ($(LIBS3),)
$(MAKE) $(LIBS3)
endif
ifneq ($(LIBS4),)
$(MAKE) $(LIBS4)
endif
ifneq ($(LIBS5),)
$(MAKE) $(LIBS5)
endif
ifneq ($(LIBS6),)
$(MAKE) $(LIBS6)
endif
ifneq ($(LIBS7),)
$(MAKE) $(LIBS7)
endif
ifneq ($(LIBS8),)
$(MAKE) $(LIBS8)
endif
ifeq ($(WITH_LIBRZ),1)
$(MAKE) librz.${EXT_AR}
$(MAKE) librz.${EXT_SO}
endif
ifeq ($(WITH_LIBRZ),1)
ifeq ($(CC),emcc)
MLFLAGS=
else
ifeq ($(OSTYPE),darwin)
MLFLAGS+=-install_name @rpath/librz.dylib
endif
ifeq ($(OSTYPE),ios)
MLFLAGS+=-install_name @rpath/librz.dylib
MLFLAGS+=-fembed-bitcode
endif
endif
LDFLAGS+=${SSL_LDFLAGS}
# XXX version-script only works with shlib as output
#ifeq ($(OSTYPE),linux)
#PLFLAGS+=--version-script ./ld.script
#endif
# from env: ALFLAGS+=$(ALFLAGS)
# ${PARTIALLD} $(ALFLAGS) $(MLFLAGS) $(PLFLAGS) -o .librz/$$(basename $${LIB}.a).o $${LIB}
.librz: $(wildcard */librz_*.${EXT_AR}) ../shlr/librz_shlr.${EXT_AR}
rm -rf .librz
mkdir -p .librz
for LIB in $^ ; do \
${PARTIALLD} $(ALFLAGS) $(MLFLAGS) $(PLFLAGS) -o .librz/$$(basename $${LIB}.a).o $${LIB} ; \
done
ifeq ($(OSTYPE),linux)
for LIB in .librz/* ; do $(OBJCOPY) --localize-hidden $$LIB ; done
endif
ifeq ($(OSTYPE),gnulinux)
for LIB in .librz/* ; do $(OBJCOPY) --localize-hidden $$LIB ; done
endif
ifeq ($(OSTYPE),android)
for LIB in .librz/* ; do $(OBJCOPY) --localize-hidden $$LIB ; done
endif
ifeq ($(OSTYPE),bsd)
for LIB in .librz/* ; do $(OBJCOPY) --localize-hidden $$LIB ; done
endif
_libr.${EXT_AR}: .librz
-${AR} -rs $@ .librz/*.o
# this code should be in do-ar-sh not inlined here..
.librz: $(wildcard */librz_*.${EXT_AR}) ../shlr/librz_shlr.${EXT_AR}
rm -rf .librz
mkdir -p .librz
-for LIB in $^ ; do \
BN=`basename $$LIB` ; \
mkdir -p .librz/$$BN ; \
echo "( cd .librz/$$BN ; pwd ; du -hs ../../$$LIB; ${AR} -x ../../$$LIB )" ; \
( cd .librz/$$BN ; pwd ; du -hs ../../$$LIB; ${AR} -x ../../$$LIB ) ; \
done
librz.${EXT_AR}: .librz
-${AR} -rs $@ .librz/*/*.o
E+=../shlr/yxml/libyxml.${EXT_AR}
E+=../shlr/ar/librz_ar.${EXT_AR}
E+=../shlr/winkd/librz_winkd.${EXT_AR}
E+=../shlr/qnx/lib/libqnxr.${EXT_AR}
E+=../shlr/bochs/lib/libbochs.${EXT_AR}
E+=../shlr/rizin-shell-parser/libshell-parser.${EXT_AR}
E+=../shlr/tree-sitter/libtree-sitter.${EXT_AR}
#ifeq ($(COMPILER),ios-sdk)
#E+=../shlr/sdb/src/libsdb.${EXT_AR}
#endif
#ifneq ($(OSTYPE),android)
#E+=../shlr/sdb/src/libsdb.${EXT_AR}
#endif
ifeq ($(USE_CAPSTONE),1)
E+=$(CAPSTONE_LDFLAGS)
else
E+=../shlr/capstone/libcapstone.${EXT_AR}
endif
ifeq ($(OSTYPE),darwin)
librz_LDFLAGS=-dynamiclib -shared
else
librz_LDFLAGS=-shared
endif
librz.${EXT_SO}: .librz
ifeq (${COMPILER},emscripten)
echo nothing to do here
else
$(CC) -fvisibility=hidden $(MLFLAGS) ${LINK} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} $(librz_LDFLAGS) -o librz.${EXT_SO} \
.librz/*/*.o \
../shlr/gdb/lib/libgdbr.${EXT_AR} ../shlr/java/librz_java.${EXT_AR} \
../shlr/librz_shlr.${EXT_AR} ../shlr/mpc/libmpc.${EXT_AR} $(E) \
../librz/util/librz_util.${EXT_AR}
endif
else
# WITH_LIBRZ=0
librz.${EXT_SO}:
$(MAKE) librz.${EXT_SO} WITH_LIBRZ=1
librz.${EXT_AR}:
$(MAKE) librz.${EXT_AR} WITH_LIBRZ=1
endif
../shlr/librz_shlr.${EXT_AR}:
$(MAKE) -C ../shlr librz_shlr.${EXT_AR}
$(LIBS):
@echo "DIR $@"
@$(MAKE) -C $@
pkgcfg:
@for lib in ${LIBS}; do $(MAKE) -C $${lib} pkgcfg; done
$(MAKE) -C asm pkgcfg NAME=librz RZ_DEPS="rz_`echo ${LIBS}|sed -e 's, , rz_,g'`"
# TODO: Magically generate librz.pc.acr here using LIBS and so :)
install-pkgconfig:
${INSTALL_DIR} "${DESTDIR}${LIBDIR}/pkgconfig"
for FILE in ../pkgcfg/*.pc ; do \
rm -f "${DESTDIR}${LIBDIR}/pkgconfig/$$FILE" ; \
${INSTALL_DATA} $$FILE "${DESTDIR}${LIBDIR}/pkgconfig" ; done
install-includes:
@-rm -f "${DESTDIR}${INCLUDEDIR}/librz/sflib"
@-rm -f "${DESTDIR}${INCLUDEDIR}/librz"
${INSTALL_DIR} "${DESTDIR}${INCLUDEDIR}/librz"
(cd include && for FILE in *.h ; do ${INSTALL_DATA} $$FILE "${DESTDIR}${INCLUDEDIR}/librz" ; done)
${INSTALL_DIR} "${DESTDIR}${INCLUDEDIR}/librz/sflib"
(cd include/sflib && for DIR in * ; do \
${INSTALL_DIR} "${DESTDIR}${INCLUDEDIR}/librz/sflib/$$DIR" ; \
for FILE in $$DIR/*.h ; do \
${INSTALL_DATA} $$FILE "${DESTDIR}${INCLUDEDIR}/librz/sflib/$$FILE" ; \
done ; \
done)
${INSTALL_DIR} "${DESTDIR}${INCLUDEDIR}/librz/sdb"
(cd ../shlr/sdb/src && for FILE in *.h ; do \
${INSTALL_DATA} $$FILE "${DESTDIR}${INCLUDEDIR}/librz/sdb/$$FILE" ; \
done)
${INSTALL_DIR} "${DESTDIR}${INCLUDEDIR}/librz/rz_util"
(cd include/rz_util && for FILE in * ; do \
${INSTALL_DATA} $$FILE "${DESTDIR}${INCLUDEDIR}/librz/rz_util/$$FILE" ; done)
${INSTALL_DIR} "${DESTDIR}${INCLUDEDIR}/librz/rz_crypto"
(cd include/rz_crypto && for FILE in * ; do \
${INSTALL_DATA} $$FILE "${DESTDIR}${INCLUDEDIR}/librz/rz_crypto/$$FILE" ; done)
symstall install-symlink:
@cd .. && \
mkdir -p "${DESTDIR}${BINDIR}" \
"${DESTDIR}${INCLUDEDIR}" \
"${DESTDIR}${LIBDIR}/pkgconfig" \
"${DESTDIR}${LIBDIR}/rizin/${VERSION}" ; \
rm -rf "${DESTDIR}${INCLUDEDIR}/librz" && ln -fs "${PWD}/include" "${DESTDIR}${INCLUDEDIR}/librz" ; \
rm -rf "${DESTDIR}${INCLUDEDIR}/librz/sdb" && ln -fs "${PWD}/../shlr/sdb/src" "${DESTDIR}${INCLUDEDIR}/librz/sdb" ; \
$(MAKE) install-pkgconfig-symlink ; \
$(foreach lib,${LIBS}, \
ln -fs "${PWD}/$(lib)/librz_$(lib).${EXT_SO}" \
"${DESTDIR}${LIBDIR}/librz_$(lib).${EXT_SO}" ; \
ln -fs "${PWD}/$(lib)/librz_$(lib).${EXT_SO}" \
"${DESTDIR}${LIBDIR}/$(call libname-version,librz_$(lib).${EXT_SO},${LIBVERSION})" ; \
ln -fs "${PWD}/$(lib)/librz_$(lib).${EXT_AR}" "${DESTDIR}${LIBDIR}/librz_$(lib).${EXT_AR}" ; \
$(foreach module,$(wildcard $(lib)/p/*.${EXT_SO}), \
ln -fs "${PWD}/$(module)" "${DESTDIR}${LIBDIR}/rizin/${VERSION}/" ; \
) \
) \
cd "${DESTDIR}${LIBDIR}/rizin" ; rm -f last ; ln -fs "${VERSION}" last
install: install-includes install-pkgconfig
# TODO :Use INSTALL_DATA_DIR instead of mkdir
# libraries
@${INSTALL_DIR} "${DESTDIR}${LIBDIR}"
@$(foreach lib,$(shell find * -type f -iname "*.${EXT_SO}" | grep -vE '^librz\.${EXT_SO}$$' | grep -v '(lib|parse)/t/' | grep lib | grep -v /bin/ | grep -v /p/), \
echo " ${DESTDIR}${LIBDIR}/$(call libpath-to-name-version,$(lib),${LIBVERSION})"; \
rm -f "${DESTDIR}${LIBDIR}/$(call libpath-to-name-version,$(lib),${LIBVERSION})"; \
${INSTALL_LIB} "$(lib)" "${DESTDIR}${LIBDIR}/$(call libpath-to-name-version,$(lib),${LIBVERSION})"; \
( cd "${DESTDIR}${LIBDIR}" ; ln -fs "$(call libpath-to-name-version,$(lib),${LIBVERSION})" "$(call libpath-to-name,$(lib))" ) ; \
)
lib=librz.$(EXT_SO) ; if [ -f "$$lib" ]; then \
${INSTALL_LIB} "$$lib" "${DESTDIR}${LIBDIR}/$$lib"; \
fi
# object archives
@for FILE in `find * -type f -iname "*.${EXT_AR}"` ; do \
echo " ${DESTDIR}${LIBDIR}/$$FILE"; ${INSTALL_DATA} $$FILE "${DESTDIR}${LIBDIR}" ; done || true
# plugins
@${INSTALL_DIR} "${DESTDIR}${LIBDIR}/rizin/${VERSION}"
@for FILE in `find */p -perm -u+x -type f | grep -v exe | grep -v dll | grep ${EXT_SO}`; \
do echo " ${DESTDIR}${LIBDIR}/rizin/${VERSION}/$$FILE"; \
${INSTALL_LIB} "$$FILE" "${DESTDIR}${LIBDIR}/rizin/${VERSION}" ; done
cd "${DESTDIR}${LIBDIR}/rizin" ; ln -fs "${VERSION}" last
deinstall uninstall:
# libraries
-@for FILE in `find * | grep -e '\.${EXT_SO}$$' | grep -v 'lib/t' | grep lib` ; do \
FILE=`echo $$FILE | awk -F / '{ print $$NF; }'`; \
echo "${DESTDIR}${LIBDIR}/$$FILE" ; rm -f "${DESTDIR}${LIBDIR}/$$FILE" ; done
# object archives
-@for FILE in `find * | grep -e '\.${EXT_AR}$$'` ; do \
FILE=`echo $$FILE | awk -F / '{ print $$NF; }'`; \
echo "${DESTDIR}${LIBDIR}/$$FILE" ; rm -f "${DESTDIR}${LIBDIR}/$$FILE" ; done
# includes
-if [ -h "${DESTDIR}${INCLUDEDIR}/librz" ]; then \
rm -f "${DESTDIR}${INCLUDEDIR}/librz" ; \
else \
(cd include && for FILE in * ; do rm -f "${DESTDIR}${INCLUDEDIR}/librz/$$FILE" ; done) ; \
fi
# programs
-@for FILE in `find */t -perm -u+x -type f | grep 2`; do \
FILE=`echo $$FILE|awk -F / '{ print $$NF; }'`; \
echo "${DESTDIR}${BINDIR}/$$FILE" ; rm -f "${DESTDIR}${BINDIR}/$$FILE" ; done
# plugins
-@for FILE in `find */p -perm -u+x -type f`; do \
FILE="${DESTDIR}${LIBDIR}/rizin/${VERSION}/`echo $$FILE|awk -F / '{ print $$NF; }'`"; \
echo $$FILE ; rm -f $$FILE ; done
rm -rf "${DESTDIR}${LIBDIR}/rizin/${VERSION}"
rm -f "${DESTDIR}${LIBDIR}/pkgconfig/librz.pc"
rm -f "${DESTDIR}${LIBDIR}/pkgconfig/rz_"*.pc
# test programs
rm -rf "${DESTDIR}${BINDIR}/librz-test"
# TODO: use for FILE in LIBS (like in binrz/Makefile)
rm -rf "${DESTDIR}${INCLUDEDIR}/librz"
rm -rf "${DESTDIR}${LIBDIR}/librz_*.so.${LIBVERSION}"
rm -rf "${DESTDIR}${LIBDIR}/librz_*.so.0"
rm -rf "${DESTDIR}${LIBDIR}/librz_*.so"
rm -rf "${DESTDIR}${LIBDIR}/librz_*.${EXT_AR}"
rm -rf "${DESTDIR}${LIBDIR}/librz.so"*
rm -rf "${DESTDIR}${LIBDIR}/librz.${EXT_AR}"
rm -rf "${DESTDIR}${LIBDIR}/librz.so"*
rm -rf "${DESTDIR}${LIBDIR}/librz.${EXT_AR}"
rm -rf "${DESTDIR}${DATADIR}/doc/rizin"
@echo librz aka rizin has been uninstalled from PREFIX=${DESTDIR}${PREFIX}
clean:
for LIB in ${LIBS}; do ( cd $${LIB} && $(MAKE) clean ); done
rm -rf .librz librz.${LIB_SO} librz.${LIB_AR}
mrproper:
rm -rf .librz librz.${LIB_SO} librz.${LIB_AR}
for LIB in ${LIBS}; do ( cd $${LIB} && $(MAKE) mrproper ); done
.PHONY: sloc mrproper clean pkgcfg install deinstall uninstall librz
.PHONY: install-includes install-pkgconfig install-symlink all

View file

@ -1,60 +0,0 @@
include ../config.mk
EXTRA_TARGETS+=do
EXTRA_CLEAN=doclean
CFLAGS+=-I..
NAME=rz_analysis
RZ_DEPS=rz_util rz_reg rz_syscall rz_search rz_cons rz_flag rz_hash rz_crypto rz_parse
CFLAGS+=-DRZ_PLUGIN_INCORE -Iarch -I$(TOP)/shlr
CFLAGS+=-I$(LTOP)/asm/arch/include
LDFLAGS+=${BN_LIBS}
CURDIR=p/
include p/capstone.mk
LDFLAGS+=$(CS_LDFLAGS)
include $(STOP)/java/deps.mk
LDFLAGS+=$(LINK)
.PHONY: all plugins libs ${EXTRA_CLEAN}
all: plugins
plugins: ${LIBSO} ${LIBAR}
@${MAKE} -C p all
include ${STATIC_ANALYSIS_PLUGINS}
STATIC_OBJS=$(addprefix $(LTOP)/analysis/p/,$(STATIC_OBJ))
OBJLIBS=meta.o reflines.o op.o fcn.o var.o block.o
OBJLIBS+=cond.o value.o cc.o class.o diff.o type.o type_pdb.o dwarf_process.o
OBJLIBS+=hint.o analysis.o data.o xrefs.o esil.o sign.o
OBJLIBS+=switch.o cycles.o esil_dfg.o
OBJLIBS+=esil_sources.o esil_interrupt.o esil_cfg.o
OBJLIBS+=esil_stats.o esil_trace.o flirt.o labels.o
OBJLIBS+=pin.o vtable.o rtti.o
OBJLIBS+=rtti_msvc.o rtti_itanium.o jmptbl.o function.o
OBJLIBS+=serialize_analysis.o
ASMOBJS+=$(LTOP)/asm/arch/xtensa/gnu/xtensa-modules.o
ASMOBJS+=$(LTOP)/asm/arch/xtensa/gnu/xtensa-isa.o
ASMOBJS+=$(LTOP)/asm/arch/xtensa/gnu/elf32-xtensa.o
OBJS=${STATIC_OBJS} ${OBJLIBS} ${ASMOBJS}
test tests: tests-esil
tests-esil:
cd ../../test ; \
sh run_tests.sh t.esil
.PHONY: do doclean
do:
${MAKE} -C d
doclean:
${MAKE} -C d clean
include $(LTOP)/rules.mk

View file

@ -1,130 +0,0 @@
include ../../../global.mk
F=
F+= types
F+= types-16
F+= types-32
F+= types-64
F+= types-android
F+= types-darwin
F+= types-windows
F+= types-x86-windows-32
F+= types-x86-windows-64
F+= types-linux
F+= types-x86-macos-64
F+= types-arm-ios-16
F+= types-arm-ios-32
F+= types-arm-ios-64
F+= spec
F+= cc-x86-64
F+= cc-x86-32
F+= cc-x86-16
F+= cc-mips-32
F+= cc-mips-64
F+= cc-m68k-32
F+= cc-sparc-32
F+= cc-arm-64
F+= cc-arm-32
F+= cc-arm-16
F+= cc-avr-8
F+= cc-ppc-32
F+= cc-ppc-64
F+= cc-xtensa-32
F+= cc-riscv-64
F+= cc-hexagon-32
F+= cc-spc700-16
F+= cc-sysz-64
WIN_TYPES=
WIN_TYPES+= bcrypt
WIN_TYPES+= cfgmgr32
WIN_TYPES+= combaseapi
WIN_TYPES+= commctrl
WIN_TYPES+= consoleapi2
WIN_TYPES+= dbghelp
WIN_TYPES+= evntrace
WIN_TYPES+= fileapi
WIN_TYPES+= libloaderapi
WIN_TYPES+= memoryapi
WIN_TYPES+= ncrypt
WIN_TYPES+= objbase
WIN_TYPES+= oleauto
WIN_TYPES+= processthreadsapi
WIN_TYPES+= psapi
WIN_TYPES+= securitybaseapi
WIN_TYPES+= shellapi
WIN_TYPES+= shlwapi
WIN_TYPES+= synchapi
WIN_TYPES+= sysinfoapi
WIN_TYPES+= threadpoolapiset
WIN_TYPES+= userenv
WIN_TYPES+= winbase
WIN_TYPES+= wincred
WIN_TYPES+= wincrypt
WIN_TYPES+= winhttp
WIN_TYPES+= winldap
WIN_TYPES+= winnls
WIN_TYPES+= winreg
WIN_TYPES+= winsock2
WIN_TYPES+= winsvc
WIN_TYPES+= winuser
WIN_TYPES+= ws2spi
include $(TOP)/config-user.mk
HOST_CC?=gcc
F_SDB=$(addsuffix .sdb,$F)
SDBPATH=$(LTOP)/../shlr/sdb/
ifeq ($(BUILD_OS),windows)
BUILD_EXT_EXE=.exe
else
BUILD_EXT_EXE=
endif
SDB=$(SDBPATH)/sdb${BUILD_EXT_EXE}
FCNSIGNPATH=$(DESTDIR)$(DATADIR)/rizin/$(VERSION)/fcnsign
all: ${SDB}
@$(MAKE) compile
compile: ${F_SDB}
linux-x86-32.sdb: linux-x86-32
types-windows.sdb: EXTRA_FILES = $(addsuffix .sdb.txt,$(addprefix types-windows_,$(WIN_TYPES)))
%.sdb:%.sdb.txt $(EXTRA_FILES)
ifneq ($(SILENT),)
@echo SDB $@
@rm -f $@
@cat $< $(EXTRA_FILES) | ${SDB} $@ =
@test -f $@
else
rm -f $@
cat $< $(EXTRA_FILES) | ${SDB} $@ =
test -f $@
endif
clean:
rm -f *.sdb
${SDB}:
@echo "Cannot find ${SDB}"
@false
.PHONY: all clean install install-symlink symstall
install: ${F_SDB}
rm -rf "${FCNSIGNPATH}"
mkdir -p "${FCNSIGNPATH}"
cp -f *.sdb "${FCNSIGNPATH}"
CWD=$(shell pwd)
symstall install-symlink: ${F_SDB}
cd ../../.. && mkdir -p "${FCNSIGNPATH}" && \
for FILE in $(shell cd $(TOP)/librz/analysis/d ; ls *.sdb); do \
ln -fs "$(CWD)/$$FILE" "$(FCNSIGNPATH)/$$FILE" ; \
done
uninstall:
rm -rf "${FCNSIGNPATH}"

View file

@ -1,9 +0,0 @@
OBJ_6502=analysis_6502.o
STATIC_OBJ+=${OBJ_6502}
TARGET_6502=analysis_6502.${EXT_SO}
ALL_TARGETS+=${TARGET_6502}
${TARGET_6502}: ${OBJ_6502}
${CC} $(call libname,analysis_6502) ${LDFLAGS} ${CFLAGS} -o analysis_6502.${EXT_SO} ${OBJ_6502}

View file

@ -1,9 +0,0 @@
OBJ_6502_CS=analysis_6502_cs.o
STATIC_OBJ+=${OBJ_6502_CS}
TARGET_6502_CS=analysis_6502_cs.${EXT_SO}
ALL_TARGETS+=${TARGET_6502_CS}
${TARGET_6502_CS}: ${OBJ_6502_CS}
${CC} $(call libname,analysis_6502_cs) ${LDFLAGS} ${CFLAGS} -o analysis_6502_cs.${EXT_SO} ${OBJ_6502_CS}

View file

@ -1,13 +0,0 @@
OBJ_8051=analysis_8051.o
CFLAGS+=-I../asm/arch/8051
STATIC_OBJ+=${OBJ_8051}
#OBJ_8051+=../../../../../../../../../../../../../../../../../../../../${LTOP}/asm/arch/8051/8051.o
#OBJ_8051+=${LTOP}/asm/arch/8051/8051.o
#OBJ_8051+=../../asm/arch/8051/8051.o
TARGET_8051=analysis_8051.${EXT_SO}
ALL_TARGETS+=${TARGET_8051}
${TARGET_8051}: ${OBJ_8051}
${CC} $(call libname,analysis_z80) ${LDFLAGS} ${CFLAGS} -o analysis_8051.${EXT_SO} ${OBJ_8051}

View file

@ -1,29 +0,0 @@
include ../../config.mk
include ../../../mk/platform.mk
CFLAGS+=-I../../include -I../arch -Wall -shared $(PIC_CFLAGS) ${LDFLAGS_LIB} ${LDFLAGS_LINKPATH}..
CFLAGS+=-L../../util -lrz_util -L../../analysis -lrz_analysis -L../../reg -lrz_reg -L../../crypto -lrz_crypto
LDFLAGS+=${LINK}
CURDIR=
ifeq ($(WITHPIC),1)
all: ${ALL_TARGETS}
ALL_TARGETS=
# TODO: rename to enabled plugins
ARCHS=null.mk ppc_gnu.mk ppc_cs.mk arm_gnu.mk avr.mk xap.mk dalvik.mk sh.mk ebc.mk gb.mk malbolge.mk ws.mk h8300.mk cr16.mk v850.mk msp430.mk sparc_gnu.mk sparc_cs.mk spc700.mk x86_cs.mk cris.mk 6502.mk snes.mk riscv.mk vax.mk xtensa.mk rsp.mk mcore.mk tricore.mk
include $(ARCHS)
clean:
-rm -f *.${EXT_SO} *.o ${STATIC_OBJ}
mrproper: clean
-rm -f *.d ../arch/*/*/*.d
.PHONY: all clean mrproper
else
all clean mrproper:
.PHONY: all clean mrproper
endif

View file

@ -1,10 +0,0 @@
OBJ_AMD29K=analysis_amd29k.o ../../asm/arch/amd29k/amd29k.o
STATIC_OBJ+=${OBJ_AMD29K}
TARGET_AMD29K=analysis_amd29k.${EXT_SO}
ALL_TARGETS+=${TARGET_AMD29K}
${TARGET_AMD29K}: ${OBJ_AMD29K}
${CC} ${CFLAGS} $(call libname,analysis_amd29k) $(CS_CFLAGS) \
-o analysis_amd29k.${EXT_SO} ${OBJ_AMD29K} $(CS_LDFLAGS)

View file

@ -1,9 +0,0 @@
OBJ_ARC=analysis_arc.o
STATIC_OBJ+=${OBJ_ARC}
TARGET_ARC=analysis_arc.${EXT_SO}
ALL_TARGETS+=${TARGET_ARC}
${TARGET_ARC}: ${OBJ_ARC}
${CC} $(call libname,analysis_arc) ${LDFLAGS} ${CFLAGS} -o analysis_arc.${EXT_SO} ${OBJ_ARC}

View file

@ -1,14 +0,0 @@
N=analysis_arm_cs
OBJ_ARM_CS=analysis_arm_cs.o
include $(CURDIR)capstone.mk
STATIC_OBJ+=${OBJ_ARM_CS}
TARGET_ARM_CS=$(N).${EXT_SO}
ALL_TARGETS+=${TARGET_ARM_CS}
${TARGET_ARM_CS}: ${OBJ_ARM_CS}
${CC} ${CFLAGS} $(call libname,$(N)) $(CS_CFLAGS) \
-o $(TARGET_ARM_CS) ${OBJ_ARM_CS} $(CS_LDFLAGS)

View file

@ -1,12 +0,0 @@
N=analysis_arm_gnu
OBJ_ARM=analysis_arm_gnu.o ../../asm/arch/arm/winedbg/be_arm.o
STATIC_OBJ+=${OBJ_ARM}
TARGET_ARM=$(N).${EXT_SO}
ALL_TARGETS+=${TARGET_ARM}
CFLAGS +=-I../asm/arch/include
${TARGET_ARM}: ${OBJ_ARM}
${CC} $(call libname,$(N)) ${LDFLAGS} ${CFLAGS} \
-o $(TARGET_ARM) $(OBJ_ARM)

View file

@ -1,12 +0,0 @@
OBJ_AVR=analysis_avr.o
OBJ_AVR+=../../asm/arch/avr/avr_disasm.o
OBJ_AVR+=../../asm/arch/avr/format.o
OBJ_AVR+=../../asm/arch/avr/disasm.o
STATIC_OBJ+=${OBJ_AVR}
TARGET_AVR=analysis_avr.${EXT_SO}
ALL_TARGETS+=${TARGET_AVR}
${TARGET_AVR}: ${OBJ_AVR}
${CC} $(call libname,analysis_avr) ${CFLAGS} -o analysis_avr.${EXT_SO} ${OBJ_AVR}

View file

@ -1,9 +0,0 @@
OBJ_BF=analysis_bf.o
STATIC_OBJ+=${OBJ_BF}
TARGET_BF=analysis_bf.${EXT_SO}
ALL_TARGETS+=${TARGET_BF}
${TARGET_BF}: ${OBJ_BF}
${CC} $(call libname,analysis_bf) ${LDFLAGS} ${CFLAGS} -o analysis_bf.${EXT_SO} ${OBJ_BF}

View file

@ -1,17 +0,0 @@
ifeq ($(USE_CAPSTONE),1)
# use system capstone
CS_CFLAGS=${CAPSTONE_CFLAGS}
CS_LDFLAGS=${CAPSTONE_LDFLAGS}
else
# use capstone from shlr/capstone
CS_CFLAGS=-I${SHLR}/capstone/include
CS_CFLAGS=-I${SHLR}/capstone/include/capstone
CS_LDFLAGS=$(SHLR)/capstone/libcapstone.a
#SHARED_OBJ+=${CS_LDFLAGS}
endif
ifeq ($(CS_CFLAGS_INCLUDED),)
CFLAGS+=$(CS_CFLAGS)
CS_CFLAGS_INCLUDED=Yes
endif

View file

@ -1,9 +0,0 @@
OBJ_CHIP8=analysis_chip8.o
STATIC_OBJ+=${OBJ_CHIP8}
TARGET_CHIP8=analysis_chip8.${EXT_SO}
ALL_TARGETS+=${TARGET_CHIP8}
${TARGET_CHIP8}: ${OBJ_CHIP8}
${CC} $(call libname,analysis_chip8) ${CFLAGS} -o analysis_chip8.${EXT_SO} ${OBJ_CHIP8}

View file

@ -1,14 +0,0 @@
OBJ_CR16=analysis_cr16.o
CFLAGS+=-I../asm/arch/cr16/
STATIC_OBJ+=${OBJ_CR16}
#OBJ_CR16+=../../../../../../../../../../../../../../../../../../../../${LTOP}/asm/arch/cr16/cr16_disas.o
OBJ_CR16+=../../asm/arch/cr16/cr16_disas.o
TARGET_CR16=analysis_cr16.${EXT_SO}
ALL_TARGETS+=${TARGET_CR16}
${TARGET_CR16}: ${OBJ_CR16} ${SHARED_OBJ}
$(call pwd)
${CC} $(call libname,analysis_cr16) ${CFLAGS} \
-o ${TARGET_CR16} ${OBJ_CR16}

View file

@ -1,10 +0,0 @@
OBJ_CRIS=analysis_cris.o
STATIC_OBJ+=$(OBJ_CRIS)
TARGET_CRIS=analysis_cris.${EXT_SO}
ALL_TARGETS+=${TARGET_CRIS}
${TARGET_CRIS}: ${OBJ_CRIS}
${CC} ${CFLAGS} $(call libname,analysis_cris) \
-o analysis_cris.${EXT_SO} ${OBJ_CRIS}

View file

@ -1,9 +0,0 @@
OBJ_DALVIK=analysis_dalvik.o
STATIC_OBJ+=${OBJ_DALVIK}
TARGET_DALVIK=analysis_dalvik.${EXT_SO}
ALL_TARGETS+=${TARGET_DALVIK}
${TARGET_DALVIK}: ${OBJ_DALVIK}
${CC} $(call libname,analysis_dalvik) ${LDFLAGS} ${CFLAGS} -o analysis_dalvik.${EXT_SO} ${OBJ_DALVIK}

View file

@ -1,14 +0,0 @@
OBJ_EBC=analysis_ebc.o
CFLAGS+=-I../asm/arch/ebc/
STATIC_OBJ+=${OBJ_EBC}
#OBJ_EBC+=../../../../../../../../../../../../../../../../../../../../${LTOP}/asm/arch/ebc/ebc_disas.o
OBJ_EBC+=../../asm/arch/ebc/ebc_disas.o
TARGET_EBC=analysis_ebc.${EXT_SO}
ALL_TARGETS+=${TARGET_EBC}
${TARGET_EBC}: ${OBJ_EBC} ${SHARED_OBJ}
$(call pwd)
${CC} $(call libname,analysis_ebc) ${CFLAGS} \
-o ${TARGET_EBC} ${OBJ_EBC}

View file

@ -1,12 +0,0 @@
OBJ_GB=analysis_gb.o
STATIC_OBJ+=${OBJ_GB}
TARGET_GB=analysis_gb.${EXT_SO}
ALL_TARGETS+=${TARGET_GB}
CFLAGS += -Iarch/gb/
${TARGET_GB}: ${OBJ_GB}
${CC} $(call libname,analysis_gb) ${LDFLAGS} ${CFLAGS} \
-o ${TARGET_GB} ${OBJ_GB}

View file

@ -1,14 +0,0 @@
OBJ_H8300=analysis_h8300.o
CFLAGS+=-I../asm/arch/h8300/
STATIC_OBJ+=${OBJ_H8300}
#OBJ_H8300+=../../../../../../../../../../../../../../../../../../../../${LTOP}/asm/arch/h8300/h8300_disas.o
OBJ_H8300+=../../asm/arch/h8300/h8300_disas.o
TARGET_H8300=analysis_h8300.${EXT_SO}
ALL_TARGETS+=${TARGET_H8300}
${TARGET_H8300}: ${OBJ_H8300} ${SHARED_OBJ}
$(call pwd)
${CC} $(call libname,analysis_h8300) ${CFLAGS} \
-o ${TARGET_H8300} ${OBJ_H8300}

View file

@ -1,16 +0,0 @@
OBJ_HEXAGON=analysis_hexagon.o
OBJ_HEXAGON+=../../asm/arch/hexagon/hexagon.o
OBJ_HEXAGON+=../../asm/arch/hexagon/hexagon_disas.o
OBJ_HEXAGON+=../../analysis/arch/hexagon/hexagon_analysis.o
CFLAGS +=-I../asm/arch/hexagon
CFLAGS +=-I../analysis/arch/hexagon
STATIC_OBJ+=${OBJ_HEXAGON}
TARGET_HEXAGON=analysis_hexagon.${EXT_SO}
ALL_TARGETS+=${TARGET_HEXAGON}
${TARGET_HEXAGON}: ${OBJ_HEXAGON}
${CC} $(call libname,analysis_hexagon) ${LDFLAGS} ${CFLAGS} \
-o $(TARGET_HEXAGON) $(OBJ_HEXAGON)

View file

@ -1,9 +0,0 @@
OBJ_I4004=analysis_i4004.o
STATIC_OBJ+=${OBJ_I4004}
TARGET_I4004=analysis_i4004.${EXT_SO}
ALL_TARGETS+=${TARGET_I4004}
${TARGET_I4004}: ${OBJ_I4004}
${CC} $(call libname,analysis_i4004) ${CFLAGS} -o analysis_i4004.${EXT_SO} ${OBJ_I4004}

View file

@ -1,9 +0,0 @@
OBJ_I8080=analysis_i8080.o
STATIC_OBJ+=${OBJ_I8080}
TARGET_I8080=analysis_i8080.${EXT_SO}
ALL_TARGETS+=${TARGET_I8080}
${TARGET_I8080}: ${OBJ_I8080}
${CC} $(call libname,analysis_z80) ${LDFLAGS} ${CFLAGS} -o analysis_i8080.${EXT_SO} ${OBJ_I8080}

View file

@ -1,16 +0,0 @@
OBJ_JAVA=analysis_java.o
SHARED2_JAVA=$(addprefix ../,${SHARED_JAVA})
OBJ_JAVA+=${SHARED2_JAVA}
STATIC_OBJ+=${OBJ_JAVA}
TARGET_JAVA=analysis_java.${EXT_SO}
ALL_TARGETS+=${TARGET_JAVA}
${TARGET_JAVA}: ${OBJ_JAVA}
${CC} $(call libname,analysis_java) ${CFLAGS} \
-o analysis_java.${EXT_SO} \
${OBJ_JAVA} ${SHARED2_JAVA} \
$(SHLR)/java/librz_java.$(EXT_AR) \
$(SHLR)/sdb/src/libsdb.$(EXT_AR)

View file

@ -1,13 +0,0 @@
OBJ_M680X_CS=analysis_m680x_cs.o
include ${CURDIR}capstone.mk
STATIC_OBJ+=$(OBJ_M680X_CS)
TARGET_M680X_CS=analysis_m680x_cs.${EXT_SO}
ALL_TARGETS+=${TARGET_M680X_CS}
${TARGET_M680X_CS}: ${OBJ_M680X_CS}
${CC} ${CFLAGS} $(call libname,analysis_m680x_cs) $(CS_CFLAGS) \
-o analysis_m680x_cs.${EXT_SO} ${OBJ_M680X_CS} $(CS_LDFLAGS)

View file

@ -1,13 +0,0 @@
OBJ_M68K_CS=analysis_m68k_cs.o
include ${CURDIR}capstone.mk
STATIC_OBJ+=$(OBJ_M68K_CS)
TARGET_M68K_CS=analysis_m68k_cs.${EXT_SO}
ALL_TARGETS+=${TARGET_M68K_CS}
${TARGET_M68K_CS}: ${OBJ_M68K_CS}
${CC} ${CFLAGS} $(call libname,analysis_m68k_cs) $(CS_CFLAGS) \
-o analysis_m68k_cs.${EXT_SO} ${OBJ_M68K_CS} $(CS_LDFLAGS)

View file

@ -1,9 +0,0 @@
OBJ_MALBOLGE=analysis_malbolge.o
STATIC_OBJ+=${OBJ_MALBOLGE}
TARGET_MALBOLGE=analysis_malbolge.${EXT_SO}
ALL_TARGETS+=${TARGET_MALBOLGE}
${TARGET_MALBOLGE}: ${OBJ_MALBOLGE}
${CC} $(call libname,analysis_malbolge) ${LDFLAGS} ${CFLAGS} -o analysis_malbolge.${EXT_SO} ${OBJ_MALBOLGE}

View file

@ -1,11 +0,0 @@
OBJ_MCORE=analysis_mcore.o ../../asm/arch/mcore/mcore.o
STATIC_OBJ+=${OBJ_MCORE}
TARGET_MCORE=analysis_mcore.${EXT_SO}
ALL_TARGETS+=${TARGET_MCORE}
${TARGET_MCORE}: ${OBJ_MCORE}
${CC} ${CFLAGS} $(call libname,analysis_mcore) $(CS_LDFLAGS) \
-o analysis_mcore.${EXT_SO} ${OBJ_MCORE}

View file

@ -1,12 +0,0 @@
OBJ_MIPS_CS=analysis_mips_cs.o
include $(CURDIR)capstone.mk
STATIC_OBJ+=$(OBJ_MIPS_CS)
TARGET_MIPS_CS=analysis_mips_cs.${EXT_SO}
ALL_TARGETS+=${TARGET_MIPS_CS}
${TARGET_MIPS_CS}: ${OBJ_MIPS_CS}
${CC} ${CFLAGS} $(call libname,analysis_mips_cs) $(CS_CFLAGS) \
-o analysis_mips_cs.${EXT_SO} ${OBJ_MIPS_CS} $(CS_LDFLAGS)

View file

@ -1,13 +0,0 @@
N=analysis_mips_gnu
OBJ_MIPS=$(N).o
include p/capstone.mk
STATIC_OBJ+=${OBJ_MIPS}
TARGET_MIPS=$(N).${EXT_SO}
ALL_TARGETS+=${TARGET_MIPS}
${TARGET_MIPS}: ${OBJ_MIPS}
${CC} $(call libname,$(N)) ${CFLAGS} ${CS_CFLAGS} \
-o $(TARGET_MIPS) ${OBJ_MIPS} ${CS_LDFLAGS}

View file

@ -1,13 +0,0 @@
OBJ_msp430=analysis_msp430.o
CFLAGS+=-I../asm/arch/msp430/
STATIC_OBJ+=${OBJ_msp430}
OBJ_msp430+=../../asm/arch/msp430/msp430_disas.o
TARGET_msp430=analysis_msp430.${EXT_SO}
ALL_TARGETS+=${TARGET_msp430}
${TARGET_msp430}: ${OBJ_msp430} ${SHARED_OBJ}
$(call pwd)
${CC} $(call libname,analysis_msp430) ${CFLAGS} \
-o ${TARGET_msp430} ${OBJ_msp430}

View file

@ -1,10 +0,0 @@
OBJ_NIOS2=analysis_nios2.o
STATIC_OBJ+=${OBJ_NIOS2}
TARGET_NIOS2=analysis_nios2.${EXT_SO}
ALL_TARGETS+=${TARGET_NIOS2}
${TARGET_NIOS2}: ${OBJ_NIOS2}
${CC} $(call libname,analysis_nios2) ${LDFLAGS} ${CFLAGS} \
-o analysis_nios2.${EXT_SO} ${OBJ_NIOS2}

View file

@ -1,10 +0,0 @@
OBJ_NULL=analysis_null.o
STATIC_OBJ+=${OBJ_NULL}
TARGET_NULL=analysis_null.${EXT_SO}
ALL_TARGETS+=${TARGET_NULL}
${TARGET_NULL}: ${OBJ_NULL}
${CC} $(call libname,analysis_null) ${LDFLAGS} \
${CFLAGS} -o analysis_null.${EXT_SO} ${OBJ_NULL}

View file

@ -1,12 +0,0 @@
OBJ_OR1K=analysis_or1k.o
OBJ_OR1K+=../../asm/arch/or1k/or1k_disas.o
CFLAGS+=-I../asm/arch/or1k
STATIC_OBJ+=${OBJ_OR1K}
TARGET_OR1K=analysis_or1k.${EXT_SO}
ALL_TARGETS+=${TARGET_OR1K}
${TARGET_OR1K}: ${OBJ_OR1K}
${CC} $(call libname,analysis_nios2) ${LDFLAGS} ${CFLAGS} \
-o analysis_or1k.${EXT_SO} ${OBJ_OR1K}

View file

@ -1,10 +0,0 @@
OBJ_PIC=analysis_pic.o
STATIC_OBJ+=$(OBJ_PIC)
OBJ_PIC+=../../asm/arch/pic/pic_midrange.o
TARGET_PIC=analysis_pic.$(EXT_SO)
ALL_TARTGETS+=$(TARGET_PIC)
$(TARGET_PIC): $(OBJ_PIC)
$(CC) $(call libname,analysis_pic) ${LDFLAGS} ${CFLAGS} -o analysis_pic.$(EXT_SO) $(OBJ_PIC)

View file

@ -1,12 +0,0 @@
OBJ_PPC_CS=analysis_ppc_cs.o ../../asm/arch/ppc/libvle/vle.o
include $(CURDIR)capstone.mk
STATIC_OBJ+=${OBJ_PPC_CS}
TARGET_PPC_CS=analysis_ppc_cs.${EXT_SO}
ALL_TARGETS+=${TARGET_PPC_CS}
${TARGET_PPC_CS}: ${OBJ_PPC_CS}
${CC} ${CFLAGS} $(call libname,analysis_ppc_cs) $(CS_CFLAGS) \
-o analysis_ppc_cs.${EXT_SO} ${OBJ_PPC_CS} $(CS_LDFLAGS)

View file

@ -1,10 +0,0 @@
OBJ_PPC=analysis_ppc_gnu.o
STATIC_OBJ+=${OBJ_PPC}
TARGET_PPC=analysis_ppc_gnu.${EXT_SO}
ALL_TARGETS+=${TARGET_PPC}
${TARGET_PPC}: ${OBJ_PPC}
${CC} $(call libname,analysis_ppc_gnu) ${CFLAGS} \
-o analysis_ppc_gnu.${EXT_SO} ${OBJ_PPC}

View file

@ -1,13 +0,0 @@
OBJ_propeller=analysis_propeller.o
CFLAGS+=-I../asm/arch/propeller/
STATIC_OBJ+=${OBJ_propeller}
OBJ_propeller+=../../asm/arch/propeller/propeller_disas.o
TARGET_propeller=analysis_propeller.${EXT_SO}
ALL_TARGETS+=${TARGET_propeller}
${TARGET_propeller}: ${OBJ_propeller} ${SHARED_OBJ}
$(call pwd)
${CC} $(call libname,analysis_propeller) ${CFLAGS} \
-o ${TARGET_propeller} ${OBJ_propeller}

View file

@ -1,41 +0,0 @@
PYC_ASM_ROOT=../../asm/arch/pyc/
OBJ_PYC=analysis_pyc.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_10.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_11.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_12.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_13.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_14.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_15.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_16.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_20.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_21.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_22.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_23.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_24.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_25.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_26.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_27.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_2x.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_30.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_31.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_32.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_33.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_34.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_35.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_36.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_37.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_38.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_39.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_3x.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_analysis.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode_arg_fmt.o
OBJ_PYC+=$(PYC_ASM_ROOT)/opcode.o
STATIC_OBJ+=${OBJ_PYC}
TARGET_PYC=analysis_pyc.$(EXT_SO)
ALL_TARGETS+=${TARGET_PYC}
CFLAGS+=-I$(PYC_ROOT)
${TARGET_PYC}: ${OBJ_PYC}
${CC} $(call libname,analysis_pyc) ${CFLAGS} $(LDFLAGS) -o ${TARGET_PYC} ${OBJ_PYC} -lrz_util

View file

@ -1,9 +0,0 @@
OBJ_RISCV=analysis_riscv.o
STATIC_OBJ+=${OBJ_RISCV}
TARGET_RISCV=analysis_riscv.${EXT_SO}
ALL_TARGETS+=${TARGET_RISCV}
${TARGET_RISCV}: ${OBJ_RISCV}
${CC} $(call libname,analysis_RISCV) ${LDFLAGS} ${CFLAGS} -o analysis_riscv.${EXT_SO} ${OBJ_RISCV}

View file

@ -1,12 +0,0 @@
OBJ_RISCV_CS=analysis_riscv_cs.o
include $(CURDIR)capstone.mk
STATIC_OBJ+=$(OBJ_RISCV_CS)
TARGET_RISCV_CS=analysis_riscv_cs.${EXT_SO}
ALL_TARGETS+=${TARGET_RISCV_CS}
${TARGET_RISCV_CS}: ${OBJ_RISCV_CS}
${CC} ${CFLAGS} $(call libname,analysis_riscv_cs) $(CS_CFLAGS) \
-o analysis_riscv_cs.${EXT_SO} ${OBJ_RISCV_CS} $(CS_LDFLAGS)

View file

@ -1,12 +0,0 @@
OBJ_RSP=analysis_rsp.o
#RSP_ROOT=$(LIBRZ)/asm/arch/rsp
CFLAGS+=-I../asm/arch/rsp
STATIC_OBJ+=${OBJ_RSP}
OBJ_RSP+=../../asm/arch/rsp/rsp_idec.o
TARGET_RSP=analysis_rsp.${EXT_SO}
ALL_TARGETS+=${TARGET_RSP}
${TARGET_RSP}: ${OBJ_RSP}
${CC} $(call libname,analysis_rsp) ${LDFLAGS} ${CFLAGS} -o ${TARGET_RSP} ${OBJ_RSP}

View file

@ -1,10 +0,0 @@
OBJ_SH=analysis_sh.o
STATIC_OBJ+=${OBJ_SH}
TARGET_SH=analysis_sh.${EXT_SO}
ALL_TARGETS+=${TARGET_SH}
${TARGET_SH}: ${OBJ_SH}
${CC} $(call libname,analysis_sh) ${LDFLAGS} \
${CFLAGS} -o analysis_sh.${EXT_SO} ${OBJ_SH}

View file

@ -1,9 +0,0 @@
OBJ_SNES=analysis_snes.o
STATIC_OBJ+=${OBJ_SNES}
TARGET_SNES=analysis_snes.${EXT_SO}
ALL_TARGETS+=${TARGET_SNES}
${TARGET_SNES}: ${OBJ_SNES}
${CC} $(call libname,analysis_snes) ${LDFLAGS} ${CFLAGS} -o analysis_snes.${EXT_SO} ${OBJ_SNES}

View file

@ -1,12 +0,0 @@
OBJ_SPARC_CS=analysis_sparc_cs.o
include ${CURDIR}capstone.mk
STATIC_OBJ+=$(OBJ_SPARC_CS)
TARGET_SPARC_CS=analysis_sparc_cs.${EXT_SO}
ALL_TARGETS+=${TARGET_SPARC_CS}
${TARGET_SPARC_CS}: ${OBJ_SPARC_CS}
${CC} ${CFLAGS} $(call libname,analysis_sparc_cs) $(CS_CFLAGS) \
-o analysis_sparc_cs.${EXT_SO} ${OBJ_SPARC_CS} $(CS_LDFLAGS)

View file

@ -1,9 +0,0 @@
OBJ_SPARC=analysis_sparc_gnu.o
STATIC_OBJ+=${OBJ_SPARC}
TARGET_SPARC=analysis_sparc_gnu.${EXT_SO}
ALL_TARGETS+=${TARGET_SPARC}
${TARGET_SPARC}: ${OBJ_SPARC}
${CC} $(call libname,analysis_sparc_gnu) ${CFLAGS} -o analysis_sparc_gnu.${EXT_SO} ${OBJ_SPARC}

View file

@ -1,9 +0,0 @@
OBJ_spc700=analysis_spc700.o
STATIC_OBJ+=${OBJ_spc700}
TARGET_spc700=analysis_spc700.${EXT_SO}
ALL_TARGETS+=${TARGET_spc700}
${TARGET_spc700}: ${OBJ_spc700}
${CC} $(call libname,analysis_spc700) ${LDFLAGS} ${CFLAGS} -o analysis_spc700.${EXT_SO} ${OBJ_spc700}

View file

@ -1,13 +0,0 @@
OBJ_SYSTEMZ_CS=analysis_sysz.o
include p/capstone.mk
STATIC_OBJ+=${OBJ_SYSTEMZ_CS}
TARGET_SYSTEMZ_CS=analysis_sysz.${EXT_SO}
ALL_TARGETS+=${TARGET_SYSTEMZ_CS}
${TARGET_SYSTEMZ_CS}: ${OBJ_SYSTEMZ_CS}
${CC} ${CFLAGS} $(call libname,analysis_sysz) $(CS_LDFLAGS) \
-o analysis_sysz.${EXT_SO} ${OBJ_SYSTEMZ_CS}

View file

@ -1,22 +0,0 @@
OBJ_TMS320=analysis_tms320.o
OBJ_TMS320+=analysis_tms320_c55x_plus.o
STATIC_OBJ+=${OBJ_TMS320}
#OBJ_TMS320+=../../../../../../../../../../../${LTOP}/asm/arch/tms320/tms320_dasm.o
#ROOT=../../../../../../../../../../../../../../../../../../../../../${LTOP}
ROOT=../../
OBJ_TMS320+=$(ROOT)/asm/arch/tms320/tms320_dasm.o
OBJ_TMS320+=$(ROOT)/asm/arch/tms320/c55x_plus/ins.o
OBJ_TMS320+=$(ROOT)/asm/arch/tms320/c55x_plus/c55plus.o
OBJ_TMS320+=$(ROOT)/asm/arch/tms320/c55x_plus/c55plus_decode.o
OBJ_TMS320+=$(ROOT)/asm/arch/tms320/c55x_plus/decode_funcs.o
OBJ_TMS320+=$(ROOT)/asm/arch/tms320/c55x_plus/utils.o
OBJ_TMS320+=$(ROOT)/asm/arch/tms320/c55x_plus/hashtable.o
OBJ_TMS320+=$(ROOT)/asm/arch/tms320/c55x_plus/hashvector.o
TARGET_TMS320=analysis_tms320.${EXT_SO}
ALL_TARGETS+=${TARGET_TMS320}
${TARGET_TMS320}: ${OBJ_TMS320} ${SHARED_OBJ}
${CC} $(call libname,analysis_tms320) ${CFLAGS} \
-I../../include/ -o ${TARGET_TMS320} ${OBJ_TMS320}

View file

@ -1,12 +0,0 @@
OBJ_TMS3264C64X_CS=analysis_tms320c64x.o
include ${CURDIR}capstone.mk
STATIC_OBJ+=$(OBJ_TMS3264C64X_CS)
TARGET_TMS3264C64X_CS=analysis_tms320c64x.${EXT_SO}
ALL_TARGETS+=${TARGET_TMS3264C64X_CS}
${TARGET_TMS3264C64X_CS}: ${OBJ_TMS3264C64X_CS}
${CC} ${CFLAGS} $(call libname,analysis_tms320c64x) $(CS_CFLAGS) \
-o analysis_tms320c64x.${EXT_SO} ${OBJ_TMS3264C64X_CS} $(CS_LDFLAGS)

View file

@ -1,10 +0,0 @@
OBJ_TRICORE=analysis_tricore.o
STATIC_OBJ+=${OBJ_TRICORE}
TARGET_TRICORE=analysis_tricore.${EXT_SO}
ALL_TARGETS+=${TARGET_TRICORE}
${TARGET_TRICORE}: ${OBJ_TRICORE}
${CC} $(call libname,analysis_tricore) ${LDFLAGS} ${CFLAGS} \
-o $(TARGET_TRICORE) $(OBJ_TRICORE)

View file

@ -1,14 +0,0 @@
OBJ_V810=analysis_v810.o
STATIC_OBJ+=${OBJ_V810}
OBJ_V810+=../../asm/arch/v810/v810_disas.o
TARGET_V810=analysis_v810.${EXT_SO}
CFLAGS+=-I../asm/arch/v810/
ALL_TARGETS+=${TARGET_V810}
${TARGET_V810}: ${OBJ_V810} ${SHARED_OBJ}
$(call pwd)
${CC} $(call libname,analysis_v810) ${CFLAGS} \
-I../../asm/arch/v810/ -o ${TARGET_V810} ${OBJ_V810}

View file

@ -1,15 +0,0 @@
OBJ_V850=analysis_v850.o
STATIC_OBJ+=${OBJ_V850}
#OBJ_V850+=../../../../../../../../../../../../../../../../../../../../${LTOP}/asm/arch/v850/v850_disas.o
OBJ_V850+=../../asm/arch/v850/v850_disas.o
TARGET_V850=analysis_v850.${EXT_SO}
CFLAGS+=-I../asm/arch/v850/
ALL_TARGETS+=${TARGET_V850}
${TARGET_V850}: ${OBJ_V850} ${SHARED_OBJ}
$(call pwd)
${CC} $(call libname,analysis_v850) ${CFLAGS} \
-I../../asm/arch/v850/ -o ${TARGET_V850} ${OBJ_V850}

View file

@ -1,9 +0,0 @@
OBJ_VAX=analysis_vax.o
STATIC_OBJ+=${OBJ_VAX}
TARGET_VAX=analysis_vax.${EXT_SO}
ALL_TARGETS+=${TARGET_VAX}
${TARGET_VAX}: ${OBJ_VAX}
${CC} $(call libname,analysis_vax) ${CFLAGS} -o analysis_vax.${EXT_SO} ${OBJ_VAX}

View file

@ -1,12 +0,0 @@
OBJ_WASM=analysis_wasm.o
CFLAGS+=-I$(WASM_ROOT)
STATIC_OBJ+=${OBJ_WASM}
TARGET_WASM=analysis_wasm.${EXT_SO}
# results in dupped symbol when building statically
#OBJ_WASM+=../../asm/arch/wasm/wasm.o
ALL_TARGETS+=${TARGET_WASM}
${TARGET_WASM}: ${OBJ_WASM}
${CC} $(call libname,analysis_wasm) ${LDFLAGS} ${CFLAGS} -o analysis_wasm.${EXT_SO} ${OBJ_WASM}

View file

@ -1,10 +0,0 @@
OBJ_WS=analysis_ws.o
STATIC_OBJ+=${OBJ_WS}
TARGET_WS=analysis_ws.${EXT_SO}
ALL_TARGETS+=${TARGET_WS}
${TARGET_WS}: ${OBJ_WS}
${CC} $(call libname,analysis_ws) ${LDFLAGS} ${CFLAGS} \
-o analysis_ws.${EXT_SO} ${OBJ_WS}

View file

@ -1,13 +0,0 @@
OBJ_X86_CS=analysis_x86_cs.o
include $(CURDIR)capstone.mk
STATIC_OBJ+=$(OBJ_X86_CS)
TARGET_X86_CS=analysis_x86_cs.${EXT_SO}
ALL_TARGETS+=${TARGET_X86_CS}
${TARGET_X86_CS}: ${OBJ_X86_CS}
${CC} ${CFLAGS} $(call libname,analysis_x86_cs) $(CS_CFLAGS) \
-o analysis_x86_cs.${EXT_SO} ${OBJ_X86_CS} $(CS_LDFLAGS)

View file

@ -1,9 +0,0 @@
OBJ_XAP=analysis_xap.o
STATIC_OBJ+=${OBJ_XAP}
TARGET_XAP=analysis_xap.${EXT_SO}
ALL_TARGETS+=${TARGET_XAP}
${TARGET_XAP}: ${OBJ_XAP}
${CC} $(call libname,analysis_xap) ${CFLAGS} -o analysis_xap.${EXT_SO} ${OBJ_XAP}

View file

@ -1,12 +0,0 @@
OBJ_XCORE_CS=analysis_xcore_cs.o
include p/capstone.mk
STATIC_OBJ+=${OBJ_XCORE_CS}
TARGET_XCORE_CS=analysis_xcore_cs.${EXT_SO}
ALL_TARGETS+=${TARGET_XCORE_CS}
${TARGET_XCORE_CS}: ${OBJ_XCORE_CS}
${CC} ${CFLAGS} $(call libname,analysis_xcore_cs) $(CS_CFLAGS) \
-o analysis_xcore_cs.${EXT_SO} ${OBJ_XCORE_CS} $(CS_LDFLAGS)

View file

@ -1,10 +0,0 @@
OBJ_XTENSA=analysis_xtensa.o
STATIC_OBJ+=${OBJ_XTENSA}
TARGET_XTENSA=analysis_xtensa.${EXT_SO}
ALL_TARGETS+=$(TARGET_XTENSA)
$(TARGET_XTENSA): $(OBJ_XTENSA)
$(CC) $(call libname,analysis_xtensa) -I$(LTOP)/asm/arch/include/ \
$(LDFLAGS) $(CFLAGS) -o analysis_xtensa.$(EXT_SO) $(OBJ_XTENSA)

View file

@ -1,10 +0,0 @@
OBJ_Z80=analysis_z80.o
STATIC_OBJ+=${OBJ_Z80}
TARGET_Z80=analysis_z80.${EXT_SO}
ALL_TARGETS+=${TARGET_Z80}
${TARGET_Z80}: ${OBJ_Z80}
${CC} $(call libname,analysis_z80) ${LDFLAGS} ${CFLAGS} \
-o analysis_z80.${EXT_SO} ${OBJ_Z80}

View file

@ -1,36 +0,0 @@
include ../../global.mk
NAME=rz_asm
RZ_DEPS=rz_syscall rz_lang rz_util rz_parse
RZ_DEPS+=rz_flag rz_cons rz_reg
CFLAGS+=-DRZ_PLUGIN_INCORE -Iarch/include -Iarch -I../../shlr
CURDIR=p/
include $(TOP)/librz/config.mk
include p/capstone.mk
LDFLAGS+=${CS_LDFLAGS}
include $(STOP)/java/deps.mk
include $(STOP)/capstone.mk
.PHONY: all plugins
EXTRA_CLEAN=doclean
all: plugins
doclean:
@cd d && ${MAKE} clean
@cd p && ${MAKE} clean
rm -f `find arch/| grep '\.o$$'`
plugins: ${LIBSO} ${LIBAR}
${MAKE} -C d all
${MAKE} -C p all
include ${STATIC_ASM_PLUGINS}
STATIC_OBJS=$(subst ..,p/..,$(subst asm_,p/asm_,$(STATIC_OBJ)))
OBJS=${STATIC_OBJS} asm.o acode.o aop.o binutils_as.o
OBJS+=${SHARED2_OBJ}
include $(TOP)/librz/rules.mk

View file

@ -1,3 +0,0 @@
all:
gcc -I../../../include armass.c -DMAIN -lrz_util
./a.out

View file

@ -1,3 +0,0 @@
CC=clang
all:
${CC} -I. -I ../../../arch/include *.c

View file

@ -1,7 +0,0 @@
CC?=gcc
all:
${CC} -DTEST=1 -O0 -g disasm.c
clean:
rm -f ./a.out

View file

@ -1,5 +0,0 @@
all:
gcc -Wall *.c
clean:
rm -f *.d *.o a.out

View file

@ -1,13 +0,0 @@
include ../../config-user.mk
include ../../mk/${COMPILER}.mk
CFLAGS+=-fPIC
OBJS=ebc_disas.o
all: out
#out: ${OBJS}
# ${CC} -g ${LDFLAGS} ${CFLAGS} -I. ${OBJS}
#clean:
# rm -rf ${OBJS} a.out

View file

@ -1,7 +0,0 @@
all:
git clone https://github.com/myri/lanai-binutils.git
mkdir -p gnu
cp -f include/opcode/lanai.h ../include/opcode
cp -f opcodes/lanai-*.c gnu/
rm -rf lanai-binutils

View file

@ -1,37 +0,0 @@
FILES=6502 8051 m68k x86 arc arm avr LH5801 ppc z80 mips sparc sh malbolge xtensa
FILES+=i8080 java i4004 dalvik msp430 lm32 sysz tms320 riscv propeller v810 v850
FILES+=pic18c chip8 tricore
F_SDB=$(addsuffix .sdb,${FILES})
SDB=../../../shlr/sdb/sdb
CFLAGS+=-fvisibility=hidden
LDFLAGS+=-fvisibility=hidden
include ../../../config-user.mk
all: ${F_SDB}
%.sdb:%.sdb.txt
${SDB} $@ = < $<
test -f $@
clean:
rm -f *.sdb
.PHONY: all clean install install-symlink symstall uninstall
# XXX rmdblslash not defined, but doesnt warns about it
OPDIR=${DESTDIR}${DATADIR}/rizin/${VERSION}/opcodes
install: ${F_SDB}
-rm -rf "${OPDIR}"
mkdir -p "${OPDIR}"
cp -f *.sdb "${OPDIR}"
#that sed is a workaround for mingw's pwd
CWD=$(shell pwd)
symstall install-symlink: ${F_SDB}
mkdir -p "${OPDIR}"
for FILE in *.sdb ; do ln -fs "${CWD}/$$FILE" "${OPDIR}/$$FILE" ; done
uninstall:
rm -rf "${OPDIR}"

View file

@ -1,11 +0,0 @@
OBJ_6502=asm_6502.o
STATIC_OBJ+=${OBJ_6502}
TARGET_6502=asm_6502.${EXT_SO}
ifeq ($(WITHPIC),1)
ALL_TARGETS+=${TARGET_6502}
${TARGET_6502}: ${OBJ_6502}
${CC} ${call libname,asm_6502} ${CFLAGS} -o ${TARGET_6502} ${OBJ_6502}
endif

View file

@ -1,15 +0,0 @@
OBJ_6502_CS=asm_6502_cs.o
include p/capstone.mk
STATIC_OBJ+=${OBJ_6502_CS}
SHARED_OBJ+=${SHARED_6502_CS}
TARGET_6502_CS=asm_6502_cs.${EXT_SO}
ifeq ($(WITHPIC),1)
ALL_TARGETS+=${TARGET_6502_CS}
${TARGET_6502_CS}: ${OBJ_6502_CS}
${CC} $(call libname,asm_6502_cs) ${LDFLAGS} ${CFLAGS} $(CS_LDFLAGS) \
-o ${TARGET_6502_CS} ${OBJ_6502_CS} ${SHARED2_6502_CS}
endif

View file

@ -1,14 +0,0 @@
OBJ_8051=asm_8051.o
OBJ_8051+=../arch/8051/8051_ass.o
CFLAGS+=-I./arch/8051/
STATIC_OBJ+=${OBJ_8051}
TARGET_8051=asm_8051.${EXT_SO}
ifeq ($(WITHPIC),1)
ALL_TARGETS+=${TARGET_8051}
${TARGET_8051}: ${OBJ_8051}
${CC} $(call libname,asm_8051) ${LDFLAGS} ${CFLAGS} \
-o ${TARGET_8051} ${OBJ_8051}
endif

View file

@ -1,40 +0,0 @@
include ../../config.mk
include ../../../mk/platform.mk
CFLAGS+=-I$(TOP)/shlr -I../../include -I../arch/ -I../arch/include
CFLAGS+=-Wall -shared ${PIC_CFLAGS} ${LDFLAGS_LIB} ${LDFLAGS_LINKPATH}..
LDFLAGS+=-L../../util -L../../flag
ifeq ($(CC),cccl)
LDFLAGS+=${LINK} -llibrz_flag -llibrz_util
else
LDFLAGS+=${LINK} -lrz_flag -lrz_util
endif
CURDIR=
ifeq ($(WITHPIC),1)
all: ${ALL_TARGETS}
ALL_TARGETS=
# TODO: rename to enabled plugins
ARCHS=mips_gnu.mk x86_cs.mk sparc_cs.mk sparc_gnu.mk java.mk bf.mk arm_gnu.mk dalvik.mk
ARCHS+=x86_as.mk x86_nz.mk cris_gnu.mk vax.mk
ARCHS+=ppc_gnu.mk ppc_as.mk ppc_cs.mk xap.mk x86_nasm.mk avr.mk
ARCHS+=sh.mk arm_winedbg.mk tms320.mk gb.mk snes.mk ebc.mk malbolge.mk ws.mk
ARCHS+=6502.mk h8300.mk cr16.mk v850.mk spc700.mk propeller.mk msp430.mk i4004.mk
ARCHS+=lh5801.mk v810.mk mcs96.mk lm32.mk
ARCHS+=riscv.mk rsp.mk mcore.mk
include $(ARCHS)
clean:
-rm -f *.${EXT_SO} *.o ${STATIC_OBJ}
mrproper: clean
-rm -f *.d ../arch/*/*/*.d
.PHONY: all clean mrproper
else
all clean mrproper:
.PHONY: all clean mrproper
endif

Some files were not shown because too many files have changed in this diff Show more