radare2/libr/config.mk.tail

210 lines
3.4 KiB
Plaintext
Raw Normal View History

# config.mk.tail
2010-01-15 12:02:54 +00:00
LIBR:=$(abspath $(dir $(lastword $(MAKEFILE_LIST))))
2018-05-18 22:07:01 +00:00
# neat???!? trick to support path with spaces
null:=
SPACE:=$(null) $(null)
2016-04-26 21:56:26 +00:00
ifeq ($(LIBR),)
2016-04-26 22:05:57 +00:00
ifeq ($(R2DIR),)
$(error ERROR: Cannot find R2DIR. Please define this variable)
else
LIBR=$(R2DIR)/libr
2017-05-09 12:25:57 +00:00
MSVC=$(R2DIR)/msvc
2016-04-26 22:05:57 +00:00
endif
2016-04-26 21:56:26 +00:00
endif
2018-05-18 22:07:01 +00:00
2013-12-20 03:32:38 +00:00
SHLR:=$(LIBR)/../shlr
2010-01-15 12:02:54 +00:00
#include $(LIBR)/../config-user.mk
include $(LIBR)/../global.mk
include $(LIBR)/../mk/${COMPILER}.mk
CFLAGS+=${CFLAGS_APPEND}
CFLAGS+=${CPPFLAGS}
2018-05-15 22:11:04 +00:00
ifeq (1,1)
#$(WITHPIC),1)
2014-07-09 00:08:06 +00:00
LINK+=$(subst r_,-L$(LIBR)/,$(DEPS))
LINK+=$(subst r_,-lr_,$(DEPS))
LINK+=$(subst r_,-L$(LIBR)/,$(BINDEPS))
LINK+=$(subst r_,-lr_,$(BINDEPS))
CFLAGS+=${PIC_CFLAGS}
2014-07-09 00:08:06 +00:00
LINK+=${PIC_CFLAGS}
else
ifneq ($(DEPS),)
2014-07-09 00:08:06 +00:00
LINK+=$(shell echo ${DEPS} | sed -e 's:r_\([^ ]\+\):$(LIBR)/\1/libr_\1.${EXT_AR}:g')
endif
endif
# Compiler: see mk/gcc.mk
# CC CFLAGS CC_LIB CC_AR LINK
# Debug
ifneq ($(OSTYPE),mingw32)
CFLAGS+=-g
endif
CFLAGS+=-Wall
# libgmp
ifeq (${HAVE_LIB_GMP},1)
CFLAGS+=-DHAVE_LIB_GMP=1
BN_LIBS=-lgmp
endif
#both of these need ssl includes
ifneq (,$(filter r_socket r_util,$(BINDEPS)))
ifeq (${HAVE_LIB_SSL},1)
CFLAGS+=${SSL_CFLAGS}
endif
endif
# XXX do it in configure stage
OSTYPE?=gnulinux
2013-02-06 10:47:31 +00:00
ifeq (${OSTYPE},auto)
_UNAME=$(shell uname)
ifeq ($(_UNAME),Darwin)
OSTYPE=darwin
else
2013-02-06 10:47:31 +00:00
OSTYPE=gnulinux
endif
endif
ifeq (${OSTYPE},openbsd)
OSTYPE=bsd
endif
ifeq (${OSTYPE},netbsd)
OSTYPE=bsd
endif
ifeq (${OSTYPE},freebsd)
OSTYPE=bsd
endif
ifeq (${OSTYPE},dragonfly)
OSTYPE=bsd
endif
ifeq (${OSTYPE},bitrig)
OSTYPE=bsd
endif
# Output
ifeq (${OSTYPE},windows)
CFLAGS+=-D__WINDOWS__=1
EXT_AR=lib
EXT_SO=dll
EXT_EXE=.exe
TH_LIBS=
endif
ifneq (,$(findstring cygwin,${OSTYPE}))
2014-06-25 10:22:27 +00:00
CFLAGS+=-D__CYGWIN__=1
EXT_AR=lib
EXT_SO=dll
EXT_EXE=.exe
TH_LIBS=
endif
ifneq (,$(findstring mingw32,${OSTYPE})$(findstring mingw64,${OSTYPE})$(findstring msys,${OSTYPE}))
CFLAGS+=-DMINGW32=1
EXT_AR=lib
EXT_SO=dll
EXT_EXE=.exe
TH_LIBS=
endif
ifeq (${OSTYPE},bsd)
CFLAGS+=-D__UNIX__=1
EXT_AR=a
EXT_SO=so
EXT_EXE=
TH_LIBS=-lpthread
endif
ifeq (${OSTYPE},qnx)
CFLAGS+=-D__UNIX__=1
EXT_AR=a
EXT_SO=so
EXT_EXE=
TH_LIBS=
endif
ifeq (${OSTYPE},gnulinux)
CFLAGS+=-D__UNIX__=1
EXT_AR=a
EXT_SO=so
EXT_EXE=
TH_LIBS=-lpthread
endif
2013-06-05 21:58:31 +00:00
ifeq (${OSTYPE},haiku)
CFLAGS+=-D__UNIX__=1
EXT_AR=a
EXT_SO=so
EXT_EXE=
TH_LIBS=
endif
ifeq (${OSTYPE},darwin)
CFLAGS+=-D__UNIX__=1
EXT_AR=a
EXT_SO=dylib
EXT_EXE=
2011-11-27 13:02:39 +00:00
ifeq ($(shell uname -p),arm)
# iOS
TH_LIBS=
else
# OSX
TH_LIBS=-lpthread
endif
2011-11-27 13:02:39 +00:00
endif
ifeq (${OSTYPE},android)
CFLAGS+=-D__UNIX__=1
EXT_AR=a
EXT_SO=so
EXT_EXE=
TH_LIBS=
endif
ifeq (${OSTYPE},solaris)
CFLAGS+=-D__UNIX__=1
EXT_AR=a
EXT_SO=so
EXT_EXE=
TH_LIBS=
endif
ifeq (${EXT_SO},)
main:
@echo
@echo "OSTYPE: ${OSTYPE}"
@echo ERROR: Unknown platform
@echo
@exit 1
endif
LIB=lib${NAME}
LIBAR=${LIB}.${EXT_AR}
LIBSO=${LIB}.${EXT_SO}
2011-09-26 00:10:25 +00:00
ifeq (${OSTYPE},android)
libname=-shared -o $1.${EXT_SO}
2011-09-26 00:10:25 +00:00
else
ifeq (${OSTYPE},windows)
libname=-shared -o $1.${EXT_SO}
else
ifeq (${OSTYPE},darwin)
2014-05-17 02:27:49 +00:00
ifeq (${HAVE_LIBVERSION},1)
2016-04-26 23:52:35 +00:00
libname=-dynamiclib -o $1.${EXT_SO} ${LDFLAGS_SONAME}$1.${LIBVERSION}.${EXT_SO}
else
2016-04-26 23:52:35 +00:00
libname=-dynamiclib -o $1.${EXT_SO}
2014-05-17 02:27:49 +00:00
endif
else
ifeq (${HAVE_LIBVERSION},1)
libname=-shared -o $1.${EXT_SO} ${LDFLAGS_SONAME}$1.${EXT_SO}.${LIBVERSION}
2014-05-17 02:27:49 +00:00
else
libname=-shared -o $1.${EXT_SO}
endif
2011-09-26 00:10:25 +00:00
endif
endif
endif
ifeq ($(OSTYPE),darwin)
libname-version = $(subst ${EXT_SO},$(2).${EXT_SO},$(1))
else
libname-version = $(1).$(2)
endif
libpath-to-name = $(word 2,$(subst /, ,$(1)))
libpath-to-name-version = $(call libname-version,$(call libpath-to-name,$(1)),$(2))
# -- singleton
endif