PKGNAME radare2 VERSION 0.10.0-git CONTACT pancake ; pancake@nopcode.org LANG_C! ARG_DISABLE DEBUGGER debugger disable native debugger features ; (( -ldl -dynamic ... )) USE_DL CHECK_ENDIAN CHKLIB magic ARG_WITH USE_MAGIC sysmagic force to use system's magic ; IFAND HAVE_LIB_MAGIC USE_MAGIC { USE_LIB_MAGIC = 1 ; LIBMAGIC = -lmagic ; }{ USE_LIB_MAGIC = 0 ; LIBMAGIC = -lr_magic ; } (( useful for static builds . see sys/static.sh )) ARG_DISABLE LOADLIBS loadlibs disable loading plugins ; ARG_WITHOUT HAVE_FORK fork disable fork ; ARG_WITH WITH_CAPSTONE syscapstone force to use system-wide capstone ; PKGCFG CAPSTONE_CFLAGS CAPSTONE_LDFLAGS capstone IFAND WITH_CAPSTONE HAVE_PKGCFG_CAPSTONE { USE_CAPSTONE = 1 ; }{ USE_CAPSTONE = 0 ; } CHKLIB z CHKLIB zip ARG_WITH USE_ZIP syszip force to use system's libzip and zlib ; IFAND HAVE_LIB_Z USE_ZIP { IF HAVE_LIB_ZIP { USE_LIB_ZIP = 1 ; LIBZIP = -lz -lzip ; }{ USE_LIB_ZIP = 0 ; LIBZIP = -lrz ; (( static linking to shlr/zip )) } }{ USE_LIB_ZIP = 0 ; LIBZIP = -lrz ; (( static linking to shlr/zip )) } ARG_WITHOUT WITH_GPL gpl do not build GPL code (grub, cxx, ... ) ; (( TODO must deprecate CHKLIB gmp ARG_WITHOUT HAVE_GMP gmp disable GMP dependency ; IFNOT HAVE_GMP { HAVE_LIB_GMP = 0 ; } )) HAVE_LIB_GMP = 0 ; HAVE_GMP = 0 ; CHKLIB ssl PKGCFG SSL_CFLAGS SSL_LDFLAGS openssl IFNOTNULL SSL_LDFLAGS { HAVE_OPENSSL = 1 ; } (( ARG_WITHOUT HAVE_OPENSSL ssl disable openssl dependency ; )) ARG_WITH WANT_OPENSSL openssl build with openssl if possible ; IFAND WANT_OPENSSL HAVE_OPENSSL { HAVE_OPENSSL = 1 ; }{ HAVE_OPENSSL = 0 ; } IFNULL SSL_LDFLAGS { IFNOT HAVE_LIB_SSL { HAVE_OPENSSL = 0 ; }{ SSL_LDFLAGS = -lssl ; } } ARG_WITH USE_RPATH rpath use rpath to build ; ARG_WITH HAVE_LILEND little-endian force little endian ; IF HAVE_LILEND { LIL_ENDIAN = 1 ; } ARG_WITH HAVE_BIGEND big-endian force big endian ; IF HAVE_BIGEND { LIL_ENDIAN = 0 ; } CHKLIB lua5.1 (( rules for the compiler )) ARG_WITH USERCC=gcc compiler Define compiler to use (see mk/) ; ARG_WITH USEROSTYPE=auto ostype Choose OS type ( gnulinux windows darwin haiku ) ; (( TODO: throw error if unknown ostype )) (( TODO: handle BSD os as different ostype? )) IFEQ USEROSTYPE auto ; { IFEQ HOST_OS mingw32_nt-6.2 ; { USEROSTYPE = mingw32 ; }{ IFEQ HOST_OS mingw32_nt ; { USEROSTYPE = mingw32 ; }{ IFEQ HOST_OS linux ; { USEROSTYPE = gnulinux ; }{ IFEQ HOST_OS gnu ; { (( GNU / HURD )) USEROSTYPE = gnulinux ; HAVE_LIB_DL = 1 ; DL_LIBS = -ldl ; }{ IFEQ HOST_OS gnu/kfreebsd ; { USEROSTYPE = bsd ; }{ IFEQ HOST_OS netbsd ; { USEROSTYPE = bsd ; }{ IFEQ HOST_OS freebsd ; { USEROSTYPE = bsd ; }{ IFEQ HOST_OS openbsd ; { USEROSTYPE = bsd ; }{ IFEQ HOST_OS darwin ; { USEROSTYPE = darwin ; } } } } } } } } } } ARG_WITHOUT WITHPIC pic do not build libr as a program independent location ; ARG_WITH WITHNONPIC nonpic build the library archives .a ; (( this hack is required for openbsd ports )) ARG_WITH LIBVERSION=xxx libversion specify different libversion ; IFEQ LIBVERSION xxx ; { LIBVERSION = $VERSION ; } REPORT PREFIX HAVE_LIB_GMP HAVE_OPENSSL USE_CAPSTONE HAVE_FORK VERSION USE_LIB_ZIP USE_LIB_MAGIC DEBUGGER CC USERCC USEROSTYPE LIL_ENDIAN LIBVERSION ; (( TODO: Add the rest of .pc files here.. add a rule for acr? )) SUBDIRS ./config-user.mk libr/include/r_userconf.h pkgcfg/r_io.pc pkgcfg/r_db.pc pkgcfg/r_magic.pc pkgcfg/r_asm.pc pkgcfg/r_bin.pc pkgcfg/r_anal.pc pkgcfg/r_hash.pc pkgcfg/r_cons.pc pkgcfg/r_core.pc pkgcfg/r_lang.pc pkgcfg/r_socket.pc pkgcfg/r_debug.pc pkgcfg/r_reg.pc pkgcfg/r_config.pc pkgcfg/r_flags.pc pkgcfg/r_syscall.pc pkgcfg/r_util.pc pkgcfg/r_search.pc pkgcfg/r_bp.pc pkgcfg/r_parse.pc pkgcfg/r_fs.pc ;