mirror of
https://github.com/radareorg/radare2.git
synced 2024-12-03 19:01:31 +00:00
3517420927
* Fix libr/egg and plugin's Makefiles * Honor CPPFLAGS
143 lines
2.6 KiB
Plaintext
143 lines
2.6 KiB
Plaintext
# config.mk.tail
|
|
|
|
LIBR:=$(abspath $(dir $(lastword $(MAKEFILE_LIST))))
|
|
|
|
include $(LIBR)/../config-user.mk
|
|
include $(LIBR)/../global.mk
|
|
include $(LIBR)/../mk/${COMPILER}.mk
|
|
|
|
CFLAGS+=${CFLAGS_APPEND}
|
|
CFLAGS+=${CPPFLAGS}
|
|
|
|
ifeq ($(WITHPIC),1)
|
|
LDFLAGS+=$(subst r_,-lr_,$(DEPS))
|
|
LDFLAGS+=$(subst r_,-L$(LIBR)/,$(DEPS))
|
|
LDFLAGS+=$(subst r_,-lr_,$(BINDEPS))
|
|
LDFLAGS+=$(subst r_,-L$(LIBR)/,$(BINDEPS))
|
|
CFLAGS+=${PIC_CFLAGS}
|
|
LDFLAGS+=${PIC_CFLAGS}
|
|
else
|
|
ifneq ($(DEPS),)
|
|
LDFLAGS+=$(shell echo ${DEPS} | sed -e 's:r_\([^ ]\+\):$(LIBR)/\1/libr_\1.${EXT_AR}:g')
|
|
endif
|
|
ifneq ($(BINDEPS),)
|
|
LDLIBS+=$(shell echo "${BINDEPS} " | sed -e 's:r_\([^ ]*\):$(LIBR)/\1/libr_\1.${EXT_AR}:g')
|
|
endif
|
|
|
|
#link dependencies of individual r_ libs
|
|
#TODO: move them inside libr/*/subdeps.mk
|
|
ifneq (,$(findstring r_db,$(BINDEPS)))
|
|
LDLIBS+=$(LIBR)/db/sdb/src/libsdb.a
|
|
endif
|
|
ifneq (,$(findstring r_fs,$(BINDEPS)))
|
|
LDLIBS+=$(LIBR)/fs/p/grub/libgrubfs.a
|
|
endif
|
|
ifneq (,$(findstring r_hash,$(BINDEPS)))
|
|
LDLIBS+=-lm
|
|
endif
|
|
ifneq (,$(findstring r_lib,$(BINDEPS)))
|
|
LDLIBS+=${DL_LIBS}
|
|
endif
|
|
ifneq (,$(findstring r_socket,$(BINDEPS)))
|
|
ifeq (${HAVE_LIB_SSL},1)
|
|
LDLIBS+=${SSL_LDFLAGS}
|
|
endif
|
|
endif
|
|
ifneq (,$(findstring r_th,$(BINDEPS)))
|
|
LDLIBS+=${TH_LIBS}
|
|
endif
|
|
ifneq (,$(findstring r_util,$(BINDEPS)))
|
|
ifeq (${HAVE_LIB_GMP},1)
|
|
LDLIBS+=-lgmp
|
|
endif
|
|
endif
|
|
ifneq (,$(findstring r_magic,$(BINDEPS)))
|
|
ifeq (${USE_LIB_MAGIC},1)
|
|
LDLIBS+=-lmagic
|
|
endif
|
|
endif
|
|
|
|
endif
|
|
|
|
# Compiler: see mk/gcc.mk
|
|
# CC CFLAGS CC_LIB CC_AR LINK
|
|
|
|
# Debug
|
|
CFLAGS+=-g -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
|
|
# Output
|
|
ifeq (${OSTYPE},windows)
|
|
CFLAGS+=-D__WINDOWS__=1
|
|
EXT_AR=lib
|
|
EXT_SO=dll
|
|
EXT_EXE=.exe
|
|
TH_LIBS=
|
|
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
|
|
ifeq (${OSTYPE},darwin)
|
|
CFLAGS+=-D__UNIX__=1
|
|
EXT_AR=a
|
|
EXT_SO=dylib
|
|
EXT_EXE=
|
|
ifeq ($(shell uname -p),arm)
|
|
# iOS
|
|
TH_LIBS=
|
|
else
|
|
# OSX
|
|
TH_LIBS=-lpthread
|
|
endif
|
|
endif
|
|
ifeq (${OSTYPE},android)
|
|
CFLAGS+=-D__UNIX__=1
|
|
EXT_AR=a
|
|
EXT_SO=so
|
|
EXT_EXE=
|
|
TH_LIBS=
|
|
endif
|
|
|
|
ifeq (${EXT_SO},)
|
|
all:
|
|
@echo Unidentified platform; exit 1
|
|
endif
|
|
|
|
LIB=lib${NAME}
|
|
LIBAR=${LIB}.${EXT_AR}
|
|
LIBSO=${LIB}.${EXT_SO}
|
|
ifeq (${OSTYPE},android)
|
|
libname=-shared -o $1.${EXT_SO}
|
|
else
|
|
ifeq (${OSTYPE},windows)
|
|
libname=-shared -o $1.${EXT_SO}
|
|
else
|
|
libname=-shared -o $1.${EXT_SO} ${LDFLAGS_SONAME}$1.${EXT_SO}.${LIBVERSION}
|
|
endif
|
|
endif
|