radare2/Makefile

300 lines
9.9 KiB
Makefile
Raw Normal View History

-include config-user.mk
include global.mk
DESTDIR:=$(call rmbdlslash,$(DESTDIR))
WWWROOT:=$(call rmbdlslash,$(WWWROOT))
R2R=radare2-regressions
R2R_URL=$(shell doc/repo REGRESSIONS)
DLIBDIR=$(call rmdblslash,$(DESTDIR)/$(LIBDIR))
WWWROOT=${DATADIR}/radare2/${VERSION}/www
R2BINS=$(shell cd binr ; echo r*2 r2agent r2pm)
DATADIRS=libr/cons/d libr/bin/d libr/asm/d libr/syscall/d libr/magic/d
2015-04-03 15:36:42 +00:00
R2VC=$(shell git rev-list --all --count)
2015-05-25 16:27:59 +00:00
USE_ZIP=YES
ZIP=zip
ifeq ($(R2VC),)
R2VC=9999999
endif
2012-02-17 12:55:54 +00:00
STRIP?=strip
ifneq ($(shell xz --help 2>/dev/null | grep improve),)
2013-07-07 21:03:10 +00:00
TAR=tar -cvf
TAREXT=tar.xz
CZ=xz -f
else
2013-07-07 21:03:10 +00:00
TAR=bsdtar cvf
TAREXT=tar.gz
CZ=gzip -f
endif
2014-09-01 13:50:04 +00:00
PWD=$(shell pwd)
all: plugins.cfg libr/include/r_version.h
${MAKE} -C shlr/zip
${MAKE} -C libr/util
2014-07-17 08:34:53 +00:00
${MAKE} -C libr/socket
${MAKE} -C shlr
${MAKE} -C libr
${MAKE} -C binr
* Initial import of the 'configure-plugins' script - accepts --static and --shared to setup which plugins you want to build statically in the library or dynamically - normalize .mk and plugin file names to adopt a single standard - WARNING: huge commit * Added 'mk/sloc.mk' with 'sloc' target to count lines with sloccount everywhere (yeah!) --HG-- rename : libr/asm/p/x86bea.mk => libr/asm/p/x86_bea.mk rename : libr/asm/p/x86nasm.mk => libr/asm/p/x86_nasm.mk rename : libr/asm/p/x86olly.mk => libr/asm/p/x86_olly.mk rename : libr/config.h => libr/config.h.head rename : libr/config.mk => libr/config.mk.head rename : libr/debug/p/dbg_gdb.c => libr/debug/p/debug_gdb.c rename : libr/debug/p/dbg_ptrace.c => libr/debug/p/debug_ptrace.c rename : libr/debug/p/dbg_libgdbwrap/Makefile => libr/debug/p/libgdbwrap/Makefile rename : libr/debug/p/dbg_libgdbwrap/README => libr/debug/p/libgdbwrap/README rename : libr/debug/p/dbg_libgdbwrap/client.c => libr/debug/p/libgdbwrap/client.c rename : libr/debug/p/dbg_libgdbwrap/gdbwrapper.c => libr/debug/p/libgdbwrap/gdbwrapper.c rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper-internals.h => libr/debug/p/libgdbwrap/include/gdbwrapper-internals.h rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper-stddef.h => libr/debug/p/libgdbwrap/include/gdbwrapper-stddef.h rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper.h => libr/debug/p/libgdbwrap/include/gdbwrapper.h rename : libr/debug/p/dbg_libgdbwrap/include/libaspect.h => libr/debug/p/libgdbwrap/include/libaspect.h rename : libr/debug/p/dbg_libgdbwrap/include/libe2dbg.h => libr/debug/p/libgdbwrap/include/libe2dbg.h rename : libr/debug/p/dbg_libgdbwrap/include/revm.h => libr/debug/p/libgdbwrap/include/revm.h rename : libr/debug/p/dbg_libgdbwrap/interface.c => libr/debug/p/libgdbwrap/interface.c rename : libr/io/p/dbg.mk => libr/io/p/debug.mk rename : libr/io/p/io_dbg.c => libr/io/p/io_debug.c
2010-01-13 22:42:49 +00:00
.PHONY: libr/include/r_version.h
GIT_TAP=$(shell git describe --tags 2>/dev/null || echo $(VERSION))
GIT_TIP=$(shell git rev-parse HEAD 2>/dev/null || echo HEAD)
GIT_NOW=$(shell date +%Y-%m-%d)
libr/include/r_version.h:
2015-09-24 01:36:06 +00:00
echo "#ifndef R_VERSION_H" > $@
echo "#define R_VERSION_H 1" >> $@
echo "#define R2_VERSION_COMMIT $(R2VC)" >> $@
echo '#define R2_GITTAP "$(GIT_TAP)"' >> $@
echo '#define R2_GITTIP "$(GIT_TIP)"' >> $@
echo '#define R2_BIRTH "$(GIT_NOW)"' >> $@
2015-09-24 01:36:06 +00:00
echo '#endif' >> $@
* Initial import of the 'configure-plugins' script - accepts --static and --shared to setup which plugins you want to build statically in the library or dynamically - normalize .mk and plugin file names to adopt a single standard - WARNING: huge commit * Added 'mk/sloc.mk' with 'sloc' target to count lines with sloccount everywhere (yeah!) --HG-- rename : libr/asm/p/x86bea.mk => libr/asm/p/x86_bea.mk rename : libr/asm/p/x86nasm.mk => libr/asm/p/x86_nasm.mk rename : libr/asm/p/x86olly.mk => libr/asm/p/x86_olly.mk rename : libr/config.h => libr/config.h.head rename : libr/config.mk => libr/config.mk.head rename : libr/debug/p/dbg_gdb.c => libr/debug/p/debug_gdb.c rename : libr/debug/p/dbg_ptrace.c => libr/debug/p/debug_ptrace.c rename : libr/debug/p/dbg_libgdbwrap/Makefile => libr/debug/p/libgdbwrap/Makefile rename : libr/debug/p/dbg_libgdbwrap/README => libr/debug/p/libgdbwrap/README rename : libr/debug/p/dbg_libgdbwrap/client.c => libr/debug/p/libgdbwrap/client.c rename : libr/debug/p/dbg_libgdbwrap/gdbwrapper.c => libr/debug/p/libgdbwrap/gdbwrapper.c rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper-internals.h => libr/debug/p/libgdbwrap/include/gdbwrapper-internals.h rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper-stddef.h => libr/debug/p/libgdbwrap/include/gdbwrapper-stddef.h rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper.h => libr/debug/p/libgdbwrap/include/gdbwrapper.h rename : libr/debug/p/dbg_libgdbwrap/include/libaspect.h => libr/debug/p/libgdbwrap/include/libaspect.h rename : libr/debug/p/dbg_libgdbwrap/include/libe2dbg.h => libr/debug/p/libgdbwrap/include/libe2dbg.h rename : libr/debug/p/dbg_libgdbwrap/include/revm.h => libr/debug/p/libgdbwrap/include/revm.h rename : libr/debug/p/dbg_libgdbwrap/interface.c => libr/debug/p/libgdbwrap/interface.c rename : libr/io/p/dbg.mk => libr/io/p/debug.mk rename : libr/io/p/io_dbg.c => libr/io/p/io_debug.c
2010-01-13 22:42:49 +00:00
plugins.cfg:
@if [ ! -e config-user.mk ]; then echo ; \
echo " Please, run ./configure first" ; echo ; exit 1 ; fi
* Initial import of the 'configure-plugins' script - accepts --static and --shared to setup which plugins you want to build statically in the library or dynamically - normalize .mk and plugin file names to adopt a single standard - WARNING: huge commit * Added 'mk/sloc.mk' with 'sloc' target to count lines with sloccount everywhere (yeah!) --HG-- rename : libr/asm/p/x86bea.mk => libr/asm/p/x86_bea.mk rename : libr/asm/p/x86nasm.mk => libr/asm/p/x86_nasm.mk rename : libr/asm/p/x86olly.mk => libr/asm/p/x86_olly.mk rename : libr/config.h => libr/config.h.head rename : libr/config.mk => libr/config.mk.head rename : libr/debug/p/dbg_gdb.c => libr/debug/p/debug_gdb.c rename : libr/debug/p/dbg_ptrace.c => libr/debug/p/debug_ptrace.c rename : libr/debug/p/dbg_libgdbwrap/Makefile => libr/debug/p/libgdbwrap/Makefile rename : libr/debug/p/dbg_libgdbwrap/README => libr/debug/p/libgdbwrap/README rename : libr/debug/p/dbg_libgdbwrap/client.c => libr/debug/p/libgdbwrap/client.c rename : libr/debug/p/dbg_libgdbwrap/gdbwrapper.c => libr/debug/p/libgdbwrap/gdbwrapper.c rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper-internals.h => libr/debug/p/libgdbwrap/include/gdbwrapper-internals.h rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper-stddef.h => libr/debug/p/libgdbwrap/include/gdbwrapper-stddef.h rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper.h => libr/debug/p/libgdbwrap/include/gdbwrapper.h rename : libr/debug/p/dbg_libgdbwrap/include/libaspect.h => libr/debug/p/libgdbwrap/include/libaspect.h rename : libr/debug/p/dbg_libgdbwrap/include/libe2dbg.h => libr/debug/p/libgdbwrap/include/libe2dbg.h rename : libr/debug/p/dbg_libgdbwrap/include/revm.h => libr/debug/p/libgdbwrap/include/revm.h rename : libr/debug/p/dbg_libgdbwrap/interface.c => libr/debug/p/libgdbwrap/interface.c rename : libr/io/p/dbg.mk => libr/io/p/debug.mk rename : libr/io/p/io_dbg.c => libr/io/p/io_debug.c
2010-01-13 22:42:49 +00:00
./configure-plugins
w32:
sys/mingw32.sh
depgraph.png:
cd libr ; perl depgraph.pl | dot -Tpng -odepgraph.png
android:
@if [ -z "$(NDK_ARCH)" ]; then echo "Set NDK_ARCH=[arm|mips|x86]" ; false; fi
sys/android-${NDK_ARCH}.sh
w32dist:
2015-03-20 12:07:56 +00:00
${MAKE} windist WINBITS=w32
w64dist:
${MAKE} windist WINBITS=w64
WINDIST=${WINBITS}dist
2015-10-23 00:58:48 +00:00
C=$(shell printf "\033[32m")
R=$(shell printf "\033[0m")
2015-03-20 12:07:56 +00:00
windist:
2015-10-23 00:58:48 +00:00
@echo "${C}[WINDIST] Installing binaries and libraries${R}"
2015-03-20 12:07:56 +00:00
[ -n "${WINBITS}" ] || exit 1
rm -rf radare2-${WINBITS}-${VERSION} ${WINDIST}
mkdir ${WINDIST}
for a in `find libr | grep -e dll$$`; do cp $$a ${WINDIST} ; done
for a in `find binr | grep -e exe$$`; do cp $$a ${WINDIST} ; done
rm -f ${WINDIST}/plugin.dll
2015-10-23 00:58:48 +00:00
@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}"
2015-03-20 12:07:56 +00:00
mkdir -p ${WINDIST}/www
cp -rf shlr/www/* ${WINDIST}/www
2015-10-23 00:58:48 +00:00
mkdir -p ${WINDIST}/share/radare2/${VERSION}/magic
cp -f libr/magic/d/default/* ${WINDIST}/share/radare2/${VERSION}/magic
mkdir -p ${WINDIST}/share/radare2/${VERSION}/syscall
cp -f libr/syscall/d/*.sdb ${WINDIST}/share/radare2/${VERSION}/syscall
mkdir -p ${WINDIST}/share/radare2/${VERSION}/opcodes
cp -f libr/asm/d/*.sdb ${WINDIST}/share/radare2/${VERSION}/opcodes
2015-03-20 12:07:56 +00:00
mkdir -p ${WINDIST}/share/doc/radare2
mkdir -p ${WINDIST}/include/libr/sdb
2015-10-23 00:58:48 +00:00
@echo "${C}[WINDIST] Copying development files${R}"
cp -f libr/include/sdb/*.h ${WINDIST}/include/libr/sdb/
cp -f libr/include/*.h ${WINDIST}/include/libr
2015-03-20 12:07:56 +00:00
#mkdir -p ${WINDIST}/include/libr/sflib
2015-10-23 00:58:48 +00:00
@cp -f doc/fortunes.* ${WINDIST}/share/doc/radare2
@mkdir -p ${WINDIST}/share/radare2/${VERSION}/cons
@cp -f libr/cons/d/* ${WINDIST}/share/radare2/${VERSION}/cons
@mkdir -p ${WINDIST}/share/radare2/${VERSION}/hud
@cp -f doc/hud ${WINDIST}/share/radare2/${VERSION}/hud/main
@mv ${WINDIST} radare2-${WINBITS}-${VERSION}
@rm -f radare2-${WINBITS}-${VERSION}.zip
2015-05-25 16:27:59 +00:00
ifneq ($(USE_ZIP),NO)
$(ZIP) -r radare2-${WINBITS}-${VERSION}.zip radare2-${WINBITS}-${VERSION}
endif
clean: rmd
for a in shlr libr binr ; do (cd $$a ; ${MAKE} clean) ; done
* Initial import of the 'configure-plugins' script - accepts --static and --shared to setup which plugins you want to build statically in the library or dynamically - normalize .mk and plugin file names to adopt a single standard - WARNING: huge commit * Added 'mk/sloc.mk' with 'sloc' target to count lines with sloccount everywhere (yeah!) --HG-- rename : libr/asm/p/x86bea.mk => libr/asm/p/x86_bea.mk rename : libr/asm/p/x86nasm.mk => libr/asm/p/x86_nasm.mk rename : libr/asm/p/x86olly.mk => libr/asm/p/x86_olly.mk rename : libr/config.h => libr/config.h.head rename : libr/config.mk => libr/config.mk.head rename : libr/debug/p/dbg_gdb.c => libr/debug/p/debug_gdb.c rename : libr/debug/p/dbg_ptrace.c => libr/debug/p/debug_ptrace.c rename : libr/debug/p/dbg_libgdbwrap/Makefile => libr/debug/p/libgdbwrap/Makefile rename : libr/debug/p/dbg_libgdbwrap/README => libr/debug/p/libgdbwrap/README rename : libr/debug/p/dbg_libgdbwrap/client.c => libr/debug/p/libgdbwrap/client.c rename : libr/debug/p/dbg_libgdbwrap/gdbwrapper.c => libr/debug/p/libgdbwrap/gdbwrapper.c rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper-internals.h => libr/debug/p/libgdbwrap/include/gdbwrapper-internals.h rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper-stddef.h => libr/debug/p/libgdbwrap/include/gdbwrapper-stddef.h rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper.h => libr/debug/p/libgdbwrap/include/gdbwrapper.h rename : libr/debug/p/dbg_libgdbwrap/include/libaspect.h => libr/debug/p/libgdbwrap/include/libaspect.h rename : libr/debug/p/dbg_libgdbwrap/include/libe2dbg.h => libr/debug/p/libgdbwrap/include/libe2dbg.h rename : libr/debug/p/dbg_libgdbwrap/include/revm.h => libr/debug/p/libgdbwrap/include/revm.h rename : libr/debug/p/dbg_libgdbwrap/interface.c => libr/debug/p/libgdbwrap/interface.c rename : libr/io/p/dbg.mk => libr/io/p/debug.mk rename : libr/io/p/io_dbg.c => libr/io/p/io_debug.c
2010-01-13 22:42:49 +00:00
distclean mrproper:
2014-10-28 08:46:24 +00:00
-rm -f `find . -type f -name *.d`
for a in libr binr shlr ; do ( cd $$a ; ${MAKE} mrproper) ; done
rm -f config-user.mk plugins.cfg libr/config.h
rm -f libr/include/r_userconf.h libr/config.mk
rm -f pkgcfg/*.pc
2009-06-15 02:44:05 +00:00
pkgcfg:
cd libr && ${MAKE} pkgcfg
install-man:
mkdir -p "${MDR}/man1"
for a in man/*.1 ; do ${INSTALL_MAN} "$$a" "${MDR}/man1" ; done
cd "${MDR}/man1" && ln -fs radare2.1 r2.1
install-man-symlink:
mkdir -p "${MDR}/man1"
cd man && for a in *.1 ; do \
ln -fs "${PWD}/man/$$a" "${MDR}/man1/$$a" ; done
cd "${MDR}/man1" && ln -fs radare2.1 r2.1
install-doc:
${INSTALL_DIR} "${PFX}/share/doc/radare2"
for a in doc/* ; do ${INSTALL_DATA} $$a "${PFX}/share/doc/radare2" ; done
install-doc-symlink:
${INSTALL_DIR} "${PFX}/share/doc/radare2"
cd doc ; for a in * ; do \
ln -fs "${PWD}/doc/$$a" "${PFX}/share/doc/radare2" ; done
install love: install-doc install-man install-www
cd libr && ${MAKE} install PREFIX="${PREFIX}" DESTDIR="${DESTDIR}" PARENT=1
cd binr && ${MAKE} install PREFIX="${PREFIX}" DESTDIR="${DESTDIR}"
cd shlr && ${MAKE} install PREFIX="${PREFIX}" DESTDIR="${DESTDIR}"
* Install includes in windows dist * Import linux-x86-32/64 and darwin-x86-32 sflib includedirs * Simplify data installation for magic, egg, syscall and asm * Set R2_INCDIR in r_userconf * Make ragg2-cc much smarter - use ragg2 -v to get paths and version - accept new flags -a -b -k for arch, bits and kernel - supports crosscompilation --HG-- rename : libr/magic/d/OpenBSD => libr/magic/d/default/OpenBSD rename : libr/magic/d/archive => libr/magic/d/default/archive rename : libr/magic/d/cafebabe => libr/magic/d/default/cafebabe rename : libr/magic/d/cisco => libr/magic/d/default/cisco rename : libr/magic/d/database => libr/magic/d/default/database rename : libr/magic/d/editors => libr/magic/d/default/editors rename : libr/magic/d/elf => libr/magic/d/default/elf rename : libr/magic/d/filesystems => libr/magic/d/default/filesystems rename : libr/magic/d/flash => libr/magic/d/default/flash rename : libr/magic/d/freebsd => libr/magic/d/default/freebsd rename : libr/magic/d/gimp => libr/magic/d/default/gimp rename : libr/magic/d/images => libr/magic/d/default/images rename : libr/magic/d/java => libr/magic/d/default/java rename : libr/magic/d/jpeg => libr/magic/d/default/jpeg rename : libr/magic/d/linux => libr/magic/d/default/linux rename : libr/magic/d/mail.news => libr/magic/d/default/mail.news rename : libr/magic/d/matroska => libr/magic/d/default/matroska rename : libr/magic/d/mime => libr/magic/d/default/mime rename : libr/magic/d/msdos => libr/magic/d/default/msdos rename : libr/magic/d/netbsd => libr/magic/d/default/netbsd rename : libr/magic/d/pdf => libr/magic/d/default/pdf rename : libr/magic/d/perl => libr/magic/d/default/perl rename : libr/magic/d/python => libr/magic/d/default/python rename : libr/magic/d/riff => libr/magic/d/default/riff rename : libr/magic/d/sniffer => libr/magic/d/default/sniffer rename : libr/magic/d/sql => libr/magic/d/default/sql rename : libr/magic/d/sun => libr/magic/d/default/sun rename : libr/magic/d/uuencode => libr/magic/d/default/uuencode
2011-11-29 02:14:27 +00:00
for a in ${DATADIRS} ; do \
(cd $$a ; ${MAKE} install LIBDIR="${LIBDIR}" PREFIX="${PREFIX}" DESTDIR="${DESTDIR}" ); \
* Install includes in windows dist * Import linux-x86-32/64 and darwin-x86-32 sflib includedirs * Simplify data installation for magic, egg, syscall and asm * Set R2_INCDIR in r_userconf * Make ragg2-cc much smarter - use ragg2 -v to get paths and version - accept new flags -a -b -k for arch, bits and kernel - supports crosscompilation --HG-- rename : libr/magic/d/OpenBSD => libr/magic/d/default/OpenBSD rename : libr/magic/d/archive => libr/magic/d/default/archive rename : libr/magic/d/cafebabe => libr/magic/d/default/cafebabe rename : libr/magic/d/cisco => libr/magic/d/default/cisco rename : libr/magic/d/database => libr/magic/d/default/database rename : libr/magic/d/editors => libr/magic/d/default/editors rename : libr/magic/d/elf => libr/magic/d/default/elf rename : libr/magic/d/filesystems => libr/magic/d/default/filesystems rename : libr/magic/d/flash => libr/magic/d/default/flash rename : libr/magic/d/freebsd => libr/magic/d/default/freebsd rename : libr/magic/d/gimp => libr/magic/d/default/gimp rename : libr/magic/d/images => libr/magic/d/default/images rename : libr/magic/d/java => libr/magic/d/default/java rename : libr/magic/d/jpeg => libr/magic/d/default/jpeg rename : libr/magic/d/linux => libr/magic/d/default/linux rename : libr/magic/d/mail.news => libr/magic/d/default/mail.news rename : libr/magic/d/matroska => libr/magic/d/default/matroska rename : libr/magic/d/mime => libr/magic/d/default/mime rename : libr/magic/d/msdos => libr/magic/d/default/msdos rename : libr/magic/d/netbsd => libr/magic/d/default/netbsd rename : libr/magic/d/pdf => libr/magic/d/default/pdf rename : libr/magic/d/perl => libr/magic/d/default/perl rename : libr/magic/d/python => libr/magic/d/default/python rename : libr/magic/d/riff => libr/magic/d/default/riff rename : libr/magic/d/sniffer => libr/magic/d/default/sniffer rename : libr/magic/d/sql => libr/magic/d/default/sql rename : libr/magic/d/sun => libr/magic/d/default/sun rename : libr/magic/d/uuencode => libr/magic/d/default/uuencode
2011-11-29 02:14:27 +00:00
done
rm -rf "${DLIBDIR}/radare2/${VERSION}/hud"
mkdir -p "${DLIBDIR}/radare2/${VERSION}/hud"
cp -f doc/hud "${DLIBDIR}/radare2/${VERSION}/hud/main"
mkdir -p $(call rmdblslash,${DESTDIR}/${PREFIX}/share/radare2/${VERSION}/)
sys/ldconfig.sh
# Remove make .d files. fixes build when .c files are removed
rmd:
rm -f `find . -type f -iname *.d`
install-www:
rm -rf $(call rmdblslash,${DESTDIR}/${WWWROOT})
rm -rf ${DLIBDIR}/radare2/${VERSION}/www # old dir
mkdir -p $(call rmdblslash,${DESTDIR}/${WWWROOT})
cp -rf shlr/www/* $(call rmdblslash,${DESTDIR}/${WWWROOT})
WWWDIR=$(call rmdblslash,${DESTDIR}/${DATADIR}/radare2/${VERSION}/www)
symstall-www:
rm -rf $(call rmdblslash,${DESTDIR}/${WWWROOT})
rm -rf ${DLIBDIR}/radare2/${VERSION}/www # old dir
mkdir -p "$(call rmdblslash,${DESTDIR}/${WWWROOT})"
cd $(call rmdblslash,${DESTDIR}/${WWWROOT}) ; \
for a in "${PWD}/shlr/www/"* ; do \
ln -fs $$a "$(WWWDIR)" ; done
install-pkgconfig-symlink:
@${INSTALL_DIR} "${DLIBDIR}/pkgconfig"
cd pkgcfg ; for a in *.pc ; do \
ln -fs "$${PWD}/$$a" "${DLIBDIR}/pkgconfig/$$a" ; done
symstall install-symlink: install-man-symlink install-doc-symlink install-pkgconfig-symlink symstall-www
cd libr && ${MAKE} install-symlink PREFIX=${PREFIX} DESTDIR="${DESTDIR}"
cd binr && ${MAKE} install-symlink PREFIX=${PREFIX} DESTDIR="${DESTDIR}"
cd shlr && ${MAKE} install-symlink PREFIX=${PREFIX} DESTDIR="${DESTDIR}"
for a in ${DATADIRS} ; do (\
cd $$a ; \
echo $$a ; \
${MAKE} install-symlink LIBDIR="${LIBDIR}" \
PREFIX="${PREFIX}" DESTDIR="${DESTDIR}" ); \
* Install includes in windows dist * Import linux-x86-32/64 and darwin-x86-32 sflib includedirs * Simplify data installation for magic, egg, syscall and asm * Set R2_INCDIR in r_userconf * Make ragg2-cc much smarter - use ragg2 -v to get paths and version - accept new flags -a -b -k for arch, bits and kernel - supports crosscompilation --HG-- rename : libr/magic/d/OpenBSD => libr/magic/d/default/OpenBSD rename : libr/magic/d/archive => libr/magic/d/default/archive rename : libr/magic/d/cafebabe => libr/magic/d/default/cafebabe rename : libr/magic/d/cisco => libr/magic/d/default/cisco rename : libr/magic/d/database => libr/magic/d/default/database rename : libr/magic/d/editors => libr/magic/d/default/editors rename : libr/magic/d/elf => libr/magic/d/default/elf rename : libr/magic/d/filesystems => libr/magic/d/default/filesystems rename : libr/magic/d/flash => libr/magic/d/default/flash rename : libr/magic/d/freebsd => libr/magic/d/default/freebsd rename : libr/magic/d/gimp => libr/magic/d/default/gimp rename : libr/magic/d/images => libr/magic/d/default/images rename : libr/magic/d/java => libr/magic/d/default/java rename : libr/magic/d/jpeg => libr/magic/d/default/jpeg rename : libr/magic/d/linux => libr/magic/d/default/linux rename : libr/magic/d/mail.news => libr/magic/d/default/mail.news rename : libr/magic/d/matroska => libr/magic/d/default/matroska rename : libr/magic/d/mime => libr/magic/d/default/mime rename : libr/magic/d/msdos => libr/magic/d/default/msdos rename : libr/magic/d/netbsd => libr/magic/d/default/netbsd rename : libr/magic/d/pdf => libr/magic/d/default/pdf rename : libr/magic/d/perl => libr/magic/d/default/perl rename : libr/magic/d/python => libr/magic/d/default/python rename : libr/magic/d/riff => libr/magic/d/default/riff rename : libr/magic/d/sniffer => libr/magic/d/default/sniffer rename : libr/magic/d/sql => libr/magic/d/default/sql rename : libr/magic/d/sun => libr/magic/d/default/sun rename : libr/magic/d/uuencode => libr/magic/d/default/uuencode
2011-11-29 02:14:27 +00:00
done
mkdir -p "${DLIBDIR}/radare2/${VERSION}/hud"
cd "$(call rmdblslash,$(DESTDIR)/$(PREFIX)/lib/radare2/)" ;\
rm -f last ; ln -fs $(VERSION) last
cd "$(call rmdblslash,$(DESTDIR)/$(PREFIX)/share/radare2/)" ;\
rm -f last ; ln -fs $(VERSION) last
2014-09-06 00:22:38 +00:00
ln -fs "${PWD}/doc/hud" "${DLIBDIR}/radare2/${VERSION}/hud/main"
mkdir -p "$(call rmdblslash,${DESTDIR}/${PREFIX}/share/radare2/${VERSION}/)"
sys/ldconfig.sh
deinstall uninstall:
cd libr && ${MAKE} uninstall PARENT=1 PREFIX=${PREFIX} DESTDIR=${DESTDIR}
cd binr && ${MAKE} uninstall PARENT=1 PREFIX=${PREFIX} DESTDIR=${DESTDIR}
cd shlr && ${MAKE} uninstall PARENT=1 PREFIX=${PREFIX} DESTDIR=${DESTDIR}
cd libr/syscall/d && ${MAKE} uninstall PARENT=1 PREFIX=${PREFIX} DESTDIR=${DESTDIR} LIBDIR=${LIBDIR}
@echo
@echo "Run 'make purge' to also remove installed files from previous versions of r2"
@echo
purge-doc:
rm -rf ${DESTDIR}/${PREFIX}/share/doc/radare2
cd man ; for a in *.1 ; do rm -f "${MDR}/man1/$$a" ; done
rm -f ${MDR}/man1/r2.1
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,$(R2BINS),$(call user-wrap,$(mod)))
2015-09-08 13:53:06 +00:00
cd ~/bin ; ln -fs radare2 r2
user-uninstall:
$(foreach mod,$(R2BINS),rm -f ~/bin/$(mod))
2015-09-08 21:47:45 +00:00
rm -f ~/bin/r2
-rmdir ~/bin
purge-dev:
rm -f ${DESTDIR}/${LIBDIR}/libr_*.${EXT_AR}
rm -f ${DESTDIR}/${LIBDIR}/pkgconfig/r_*.pc
rm -rf ${DESTDIR}/${INCLUDEDIR}/libr
rm -f ${DESTDIR}/${LIBDIR}/radare2/${VERSION}/-*
strip:
-for a in ${R2BINS} ; do ${STRIP} -s ${DESTDIR}/${BINDIR}/$$a 2> /dev/null ; done
-for a in ${DESTDIR}/${LIBDIR}/libr_*.${EXT_SO} \
${DESTDIR}/${LIBDIR}/libr2.${EXT_SO} ; do ${STRIP} -s $$a ; done
purge: purge-doc purge-dev
for a in ${R2BINS} ; do rm -f ${DESTDIR}/${BINDIR}/$$a ; done
rm -f ${DESTDIR}/${BINDIR}/ragg2-cc
rm -f ${DESTDIR}/${BINDIR}/r2
2011-11-02 01:01:24 +00:00
rm -f ${DESTDIR}/${LIBDIR}/libr_*
rm -f ${DESTDIR}/${LIBDIR}/libr2.${EXT_SO}
rm -rf ${DESTDIR}/${LIBDIR}/radare2
rm -rf ${DESTDIR}/${INCLUDEDIR}/libr
dist:
-[ configure -nt config-user.mk ] && ./configure --prefix=${PREFIX}
git log $$(git show-ref `git tag |tail -n1`)..HEAD > ChangeLog
2014-06-14 00:44:31 +00:00
cd shlr && ${MAKE} capstone-sync
DIR=`basename $$PWD` ; \
FILES=`git ls-files | sed -e s,^,radare2-${VERSION}/,` ; \
2015-06-04 22:53:36 +00:00
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,^,radare2-${VERSION}/shlr/capstone/,` ; \
cd .. && mv $${DIR} radare2-${VERSION} && \
${TAR} radare2-${VERSION}.tar $${FILES} $${CS_FILES} radare2-${VERSION}/ChangeLog ;\
2013-07-07 21:03:10 +00:00
${CZ} radare2-${VERSION}.tar ; \
mv radare2-${VERSION} $${DIR}
shot:
DATE=`date '+%Y%m%d'` ; \
FILES=`git ls-files | sed -e s,^,radare2-${DATE}/,` ; \
cd .. && mv radare2 radare2-$${DATE} && \
2013-07-07 21:03:10 +00:00
${TAR} radare2-$${DATE}.tar $${FILES} ;\
${CZ} radare2-$${DATE}.tar ;\
mv radare2-$${DATE} radare2 && \
2013-07-07 21:03:10 +00:00
scp radare2-$${DATE}.${TAREXT} \
radare.org:/srv/http/radareorg/get/shot
tests:
@if [ -d $(R2R) ]; then \
cd $(R2R) ; git clean -xdf ; git pull ; \
else \
2014-12-30 04:19:50 +00:00
git clone --depth 1 ${R2R_URL} $(R2R); \
fi
cd $(R2R) ; ${MAKE}
osx-sign:
$(MAKE) -C binr/radare2 osx-sign
osx-sign-libs:
$(MAKE) -C binr/radare2 osx-sign-libs
quality:
./sys/shellcheck.sh
include ${MKPLUGINS}
.PHONY: all clean distclean mrproper install symstall uninstall deinstall strip
.PHONY: libr binr install-man w32dist tests dist shot pkgcfg depgraph.png love