radare2/Makefile

355 lines
12 KiB
Makefile
Raw Normal View History

-include config-user.mk
include global.mk
2016-04-04 10:16:06 +00:00
PREVIOUS_RELEASE=0.10.1
2016-01-20 02:44:59 +00:00
R2R=radare2-regressions
R2R_URL=$(shell doc/repo REGRESSIONS)
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 libr/anal/d
2015-05-25 16:27:59 +00:00
USE_ZIP=YES
ZIP=zip
2016-02-27 11:33:39 +00:00
R2VC=$(shell git rev-list --all --count 2>/dev/null)
ifeq ($(R2VC),)
R2VC=9999999
endif
2016-02-27 11:33:39 +00:00
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)
2016-01-22 19:48:34 +00:00
# For echo without quotes
2016-02-16 12:01:41 +00:00
Q='
ESC=
2016-01-22 19:48:34 +00:00
ifeq ($(BUILD_OS),windows)
2016-02-03 11:13:01 +00:00
ifeq ($(OSTYPE),mingw32)
2016-02-25 16:03:48 +00:00
ifneq (,$(findstring mingw32-make,$(MAKE)))
2016-02-16 12:01:41 +00:00
ifneq ($(APPVEYOR),True)
2016-01-22 22:15:33 +00:00
Q=
ESC=^
LC_ALL=C
export LC_ALL
2016-01-22 19:48:34 +00:00
endif
2016-02-16 12:01:41 +00:00
endif
2016-01-22 19:48:34 +00:00
endif
2016-02-25 16:03:48 +00:00
endif
2016-01-22 19:48:34 +00:00
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
2015-11-08 10:52:45 +00:00
GIT_TAP=$(shell git describe --tags --match "[0-9]*" 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:
2016-01-25 12:19:41 +00:00
@echo Generating r_version.h file
2016-01-22 21:51:58 +00:00
@echo $(Q)#ifndef R_VERSION_H$(Q) > $@.tmp
@echo $(Q)#define R_VERSION_H 1$(Q) >> $@.tmp
@echo $(Q)#define R2_VERSION_COMMIT $(R2VC)$(Q) >> $@.tmp
@echo $(Q)#define R2_GITTAP $(ESC)"$(GIT_TAP)$(ESC)"$(Q) >> $@.tmp
@echo $(Q)#define R2_GITTIP $(ESC)"$(GIT_TIP)$(ESC)"$(Q) >> $@.tmp
@echo $(Q)#define R2_BIRTH $(ESC)"$(GIT_NOW)$(ESC)"$(Q) >> $@.tmp
@echo $(Q)#endif$(Q) >> $@.tmp
2016-01-03 01:13:53 +00:00
@cmp -s $@.tmp $@ || (mv -f $@.tmp $@ && echo "Update libr/include/r_version.h")
@rm -f $@.tmp
* 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
2015-10-31 01:46:00 +00:00
sh configure-plugins
w32:
sys/mingw32.sh
depgraph.png:
cd libr ; perl depgraph.pl | dot -Tpng -odepgraph.png
android:
2016-01-22 19:53:01 +00:00
@if [ -z "$(NDK_ARCH)" ]; then echo "Set NDK_ARCH=[arm|arm64|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 FILE in `find libr | grep -e dll$$`; do cp "$$FILE" "${WINDIST}" ; done
for FILE in `find binr | grep -e exe$$`; do cp "$$FILE" "${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"
2015-10-27 14:42:09 +00:00
mv "${WINDIST}/"lib*.dll "${WINDIST}/libs"
mkdir -p "${WINDIST}/plugins"
mv ${WINDIST}/*.dll "${WINDIST}/plugins"
mv ${WINDIST}/libs/* "${WINDIST}"
2015-10-23 00:58:48 +00:00
@echo "${C}[WINDIST] Do not include plugins for now${R}"
rm -rf "${WINDIST}/libs"
2015-10-23 00:58:48 +00:00
rm -rf ${WINDIST}/plugins/*
@echo "${C}[WINDIST] Copying web interface${R}"
mkdir -p "${WINDIST}/www"
cp -rf shlr/www/* "${WINDIST}/www"
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}/fcnsign"
2015-10-30 10:08:58 +00:00
cp -f libr/anal/d/*.sdb "${WINDIST}/share/radare2/${VERSION}/fcnsign"
mkdir -p "${WINDIST}/share/radare2/${VERSION}/opcodes"
cp -f libr/asm/d/*.sdb "${WINDIST}/share/radare2/${VERSION}/opcodes"
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"
#mkdir -p "${WINDIST}/include/libr/sflib"
@cp -f doc/fortunes.* "${WINDIST}/share/doc/radare2"
2016-01-20 20:15:33 +00:00
@mkdir -p "${WINDIST}/share/radare2/${VERSION}/format/dll"
@cp -f libr/bin/d/{elf,pe}* "${WINDIST}/share/radare2/${VERSION}/format"
@cp -f libr/bin/d/dll/*.sdb "${WINDIST}/share/radare2/${VERSION}/format/dll"
@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}"
2015-05-25 16:27:59 +00:00
endif
clean: rmd
for DIR in shlr libr binr ; do (cd "$$DIR" ; ${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:
-rm -f `find . -type f -name '*.d'`
rm -f `find . -type f -name '*.o'`
for DIR in libr binr shlr ; do ( cd "$$DIR" ; ${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 "${DESTDIR}${MANDIR}/man1"
2016-01-20 01:22:00 +00:00
mkdir -p "${DESTDIR}${MANDIR}/man7"
for FILE in man/*.1 ; do ${INSTALL_MAN} "$$FILE" "${DESTDIR}${MANDIR}/man1" ; done
cd "${DESTDIR}${MANDIR}/man1" && ln -fs radare2.1 r2.1
2016-01-20 01:22:00 +00:00
for FILE in man/*.7 ; do ${INSTALL_MAN} "$$FILE" "${DESTDIR}${MANDIR}/man7" ; done
install-man-symlink:
mkdir -p "${DESTDIR}${MANDIR}/man1"
2016-01-20 01:22:00 +00:00
mkdir -p "${DESTDIR}${MANDIR}/man7"
cd man && for FILE in *.1 ; do \
ln -fs "${PWD}/man/$$FILE" "${DESTDIR}${MANDIR}/man1/$$FILE" ; done
cd "${DESTDIR}${MANDIR}/man1" && ln -fs radare2.1 r2.1
2016-01-20 01:22:00 +00:00
for FILE in *.7 ; do \
ln -fs "${PWD}/man/$$FILE" "${DESTDIR}${MANDIR}/man7/$$FILE" ; done
install-doc:
${INSTALL_DIR} "${DESTDIR}${DATADIR}/doc/radare2"
for FILE in doc/* ; do ${INSTALL_DATA} $$FILE "${DESTDIR}${DATADIR}/doc/radare2" ; done
install-doc-symlink:
${INSTALL_DIR} "${DESTDIR}${DATADIR}/doc/radare2"
cd doc ; for FILE in * ; do \
ln -fs "${PWD}/doc/$$FILE" "${DESTDIR}${DATADIR}/doc/radare2" ; done
install love: install-doc install-man install-www
cd libr && ${MAKE} install PARENT=1
cd binr && ${MAKE} install
cd shlr && ${MAKE} install
for DIR in ${DATADIRS} ; do \
(cd "$$DIR" ; ${MAKE} install ); \
* 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
2015-12-03 16:02:13 +00:00
cd "$(DESTDIR)$(LIBDIR)/radare2/" ;\
rm -f last ; ln -fs $(VERSION) last
cd "$(DESTDIR)$(DATADIR)/radare2/" ;\
rm -f last ; ln -fs $(VERSION) last
rm -rf "${DESTDIR}${LIBDIR}/radare2/${VERSION}/hud"
mkdir -p "${DESTDIR}${LIBDIR}/radare2/${VERSION}/hud"
cp -f doc/hud "${DESTDIR}${LIBDIR}/radare2/${VERSION}/hud/main"
mkdir -p "${DESTDIR}${DATADIR}/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 "${DESTDIR}${WWWROOT}"
rm -rf "${DESTDIR}${LIBDIR}/radare2/${VERSION}/www" # old dir
mkdir -p "${DESTDIR}${WWWROOT}"
cp -rf shlr/www/* "${DESTDIR}${WWWROOT}"
symstall-www:
rm -rf "${DESTDIR}${WWWROOT}"
rm -rf "${DESTDIR}${LIBDIR}/radare2/${VERSION}/www" # old dir
mkdir -p "${DESTDIR}${WWWROOT}"
cd "${DESTDIR}${WWWROOT}" ; \
for FILE in "${PWD}/shlr/www/"* ; do \
ln -fs "$$FILE" "$(DESTDIR)$(WWWROOT)" ; done
install-pkgconfig-symlink:
@${INSTALL_DIR} "${DESTDIR}${LIBDIR}/pkgconfig"
cd pkgcfg ; for FILE in *.pc ; do \
ln -fs "$${PWD}/$$FILE" "${DESTDIR}${LIBDIR}/pkgconfig/$$FILE" ; done
symstall install-symlink: install-man-symlink install-doc-symlink install-pkgconfig-symlink symstall-www
cd libr && ${MAKE} install-symlink
cd binr && ${MAKE} install-symlink
cd shlr && ${MAKE} install-symlink
for DIR in ${DATADIRS} ; do (\
cd "$$DIR" ; \
echo "$$DIR" ; \
${MAKE} install-symlink ); \
* 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 "${DESTDIR}${LIBDIR}/radare2/${VERSION}/hud"
cd "$(DESTDIR)$(LIBDIR)/radare2/" ;\
rm -f last ; ln -fs $(VERSION) last
2015-12-03 16:02:13 +00:00
cd "$(DESTDIR)$(DATADIR)/radare2/" ;\
rm -f last ; ln -fs $(VERSION) last
ln -fs "${PWD}/doc/hud" "${DESTDIR}${LIBDIR}/radare2/${VERSION}/hud/main"
mkdir -p "${DESTDIR}${DATADIR}/radare2/${VERSION}/"
sys/ldconfig.sh
deinstall uninstall:
cd libr && ${MAKE} uninstall PARENT=1
cd binr && ${MAKE} uninstall PARENT=1
cd shlr && ${MAKE} uninstall PARENT=1
cd libr/syscall/d && ${MAKE} uninstall PARENT=1
cd libr/anal/d && ${MAKE} uninstall PARENT=1
@echo
@echo "Run 'make purge' to also remove installed files from previous versions of r2"
@echo
purge-doc:
rm -rf "${DESTDIR}${DATADIR}/doc/radare2"
cd man ; for FILE in *.1 ; do rm -f "${DESTDIR}${MANDIR}/man1/$$FILE" ; done
rm -f "${DESTDIR}${MANDIR}/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 FILE in ${R2BINS} ; do ${STRIP} -s "${DESTDIR}${BINDIR}/$$FILE" 2> /dev/null ; done
-for FILE in "${DESTDIR}${LIBDIR}/libr_"*".${EXT_SO}" "${DESTDIR}${LIBDIR}/libr2.${EXT_SO}" ; do \
${STRIP} -s "$$FILE" ; done
purge: purge-doc purge-dev user-uninstall
for FILE in ${R2BINS} ; do rm -f "${DESTDIR}${BINDIR}/$$FILE" ; done
rm -f "${DESTDIR}${BINDIR}/ragg2-cc"
rm -f "${DESTDIR}${BINDIR}/r2"
rm -f "${DESTDIR}${LIBDIR}/libr_"*
rm -f "${DESTDIR}${LIBDIR}/libr2.${EXT_SO}"
rm -rf "${DESTDIR}${LIBDIR}/radare2"
rm -rf "${DESTDIR}${INCLUDEDIR}/libr"
2016-02-24 17:11:45 +00:00
R2V=radare2-${VERSION}
2016-02-23 01:47:49 +00:00
dist:
2016-02-24 17:11:45 +00:00
rm -rf $(R2V)
git clone . $(R2V)
2016-02-26 10:44:52 +00:00
-cd $(R2V) && [ ! -f config-user.mk -o configure -nt config-user.mk ] && ./configure "--prefix=${PREFIX}"
2016-02-24 17:11:45 +00:00
cd $(R2V) ; git log $$(git show-ref | grep ${PREVIOUS_RELEASE} | awk '{print $$1}')..HEAD > ChangeLog
2016-02-26 10:44:52 +00:00
$(MAKE) -C $(R2V)/shlr capstone-sync
2016-02-24 17:11:45 +00:00
FILES=`cd $(R2V); git ls-files | sed -e "s,^,$(R2V)/,"` ; \
CS_FILES=`cd $(R2V)/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,^,$(R2V)/shlr/capstone/,"` ; \
${TAR} "radare2-${VERSION}.tar" $${FILES} $${CS_FILES} "$(R2V)/ChangeLog" ; \
2016-02-23 01:47:49 +00:00
${CZ} "radare2-${VERSION}.tar"
olddist:
-[ configure -nt config-user.mk ] && ./configure "--prefix=${PREFIX}"
2016-01-20 02:44:59 +00:00
#git log $$(git show-ref `git tag |tail -n1`)..HEAD > ChangeLog
git log $$(git show-ref | grep ${PREVIOUS_RELEASE} | awk '{print $$1}')..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}/,"` ; \
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}" && \
2016-01-20 02:44:59 +00:00
${TAR} "radare2-${VERSION}.tar" $${FILES} $${CS_FILES} "radare2-${VERSION}/ChangeLog" ; \
${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}" && \
${TAR} "radare2-$${DATE}.tar" $${FILES} ;\
${CZ} "radare2-$${DATE}.tar" ;\
mv "radare2-$${DATE}" radare2 && \
scp "radare2-$${DATE}.${TAREXT}" \
2013-07-07 21:03:10 +00:00
radare.org:/srv/http/radareorg/get/shot
tests:
@if [ -d $(R2R) ]; then \
cd $(R2R) ; git clean -xdf ; git pull ; \
else \
git clone --depth 1 "${R2R_URL}" "$(R2R)"; \
fi
cd $(R2R) ; ${MAKE}
osx-sign:
$(MAKE) -C binr/radare2 osx-sign
2016-01-22 19:53:01 +00:00
osx-sign-libs:
$(MAKE) -C binr/radare2 osx-sign-libs
quality:
./sys/shellcheck.sh
menu nconfig:
./sys/menu.sh || true
2016-04-04 10:16:06 +00:00
pie:
sys/pie.sh ${PREVIOUS_RELEASE}
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