radare2/binr/rules.mk

78 lines
1.6 KiB
Makefile
Raw Normal View History

BINR_PROGRAM=1
include ../../libr/config.mk
CFLAGS+=-DLIBDIR=\"${LIBDIR}\" -I$(LTOP)/include
CFLAGS+=-DR2_BIRTH=\"`date +%Y-%m-%d`\"
CFLAGS+=-DR2_GITTIP=\"$(GIT_TIP)\"
CFLAGS+=-DR2_GITTAP=\"$(GIT_TAP)\"
ifeq (${COMPILER},emscripten)
EXT_EXE=.js
endif
2012-10-29 12:15:18 +00:00
ifeq ($(USE_RPATH),1)
LDFLAGS+=-Wl,-R${PREFIX}/lib
endif
OBJ+=${BIN}.o
BEXE=${BIN}${EXT_EXE}
ifeq ($(WITHNONPIC),1)
2013-09-06 23:35:11 +00:00
## LDFLAGS+=$(addsuffix /lib${BINDEPS}.a,$(addprefix ../../libr/,$(subst r_,,$(BINDEPS))))
LDFLAGS+=$(shell for a in ${BINDEPS} ; do b=`echo $$a |sed -e s,r_,,g`; echo ../../libr/$$b/lib$$a.a ; done )
2013-08-26 00:43:15 +00:00
LDFLAGS+=../../shlr/sdb/src/libsdb.a
2013-12-14 11:37:35 +00:00
LDFLAGS+=../../shlr/grub/libgrubfs.a
LDFLAGS+=../../shlr/zip/librz.a
LDFLAGS+=../../shlr/gdb/lib/libgdbr.a
LDFLAGS+=../../shlr/capstone/libcapstone.a
2013-06-05 21:58:31 +00:00
ifneq (${OSTYPE},haiku)
LDFLAGS+=-lm
endif
2013-06-05 21:58:31 +00:00
endif
2013-02-06 10:47:31 +00:00
LDFLAGS+=${DL_LIBS}
2013-11-15 00:30:11 +00:00
LDFLAGS+=${LINK}
2014-04-18 23:23:04 +00:00
REAL_LDFLAGS=$(subst -shared,,$(LDFLAGS))
2014-03-01 23:47:05 +00:00
ifeq ($(ISLIB),1)
BEXE=$(BIN).$(EXT_SO)
2014-04-18 23:23:04 +00:00
REAL_LDFLAGS+=-shared
2014-03-01 23:47:05 +00:00
endif
#--------------------#
# Rules for programs #
#--------------------#
2014-04-18 23:23:04 +00:00
# For some reason w32 builds contain -shared in LDFLAGS. boo!
ifneq ($(BIN)$(BINS),)
all: ${BEXE} ${BINS}
${BINS}: ${OBJS}
ifneq ($(SILENT),)
@echo CC $@
endif
${CC} ${CFLAGS} $@.c ${OBJS} ${REAL_LDFLAGS} -o $@
${BEXE}: ${OBJ} ${SHARED_OBJ}
ifneq ($(SILENT),)
@echo LD $@
endif
2014-04-18 23:23:04 +00:00
${CC} $+ -L.. -o $@ $(REAL_LDFLAGS)
endif
# Dummy myclean rule that can be overriden by the t/ Makefile
# TODO: move to config.mk ? it must be a precondition
myclean:
clean:: myclean
2013-09-06 23:35:11 +00:00
-rm -f ${OBJS} ${OBJ} ${BEXE}
mrproper: clean
-rm -f *.d
install:
cd ../.. && ${MAKE} install
.PHONY: all clean myclean mrproper install