REhints/HexRaysCodeXplorer

View on GitHub
src/HexRaysCodeXplorer/Makefile.osx

Summary

Maintainability
Test Coverage
CXX ?= clang++
MACSDK=$(shell xcrun --show-sdk-path --sdk macosx)
CXXFLAGS=-m32 -fPIC -shared  -D__PLUGIN__ -Wall -Wextra -std=c++11 -isysroot $(MACSDK) -static-libstdc++ -DUSE_DANGEROUS_FUNCTIONS=1 -DUSE_STANDARD_FILE_FUNCTIONS=1
LDFLAGS=-shared -m32
LIBS=-lc -lpthread -ldl -lpro
INCLUDES=-I$(IDA_SDK)/include -I$(IDA_DIR)/plugins/hexrays_sdk/include

SRCDIR=./
SRC=$(SRCDIR)CodeXplorer.cpp \
    $(SRCDIR)CtreeExtractor.cpp \
    $(SRCDIR)CtreeGraphBuilder.cpp \
    $(SRCDIR)Debug.cpp \
    $(SRCDIR)GCCObjectFormatParser.cpp \
    $(SRCDIR)GCCTypeInfo.cpp \
    $(SRCDIR)GCCVtableInfo.cpp \
    $(SRCDIR)IObjectFormatParser.cpp \
    $(SRCDIR)MSVCObjectFormatParser.cpp \
    $(SRCDIR)ObjectExplorer.cpp \
    $(SRCDIR)ReconstructableType.cpp \
    $(SRCDIR)reconstructed_place_t.cpp \
    $(SRCDIR)TypeExtractor.cpp \
    $(SRCDIR)TypeReconstructor.cpp \
    $(SRCDIR)MicrocodeExtractor.cpp \
    $(SRCDIR)Utility.cpp

#SRC = $(wildcard src/*.cpp)
#OBJS=$(subst .cpp,.o,$(SRC))

all: check-env HexRaysCodeXplorer.pmc HexRaysCodeXplorer.pmc64

HexRaysCodeXplorer.pmc: $(SRC)
    $(CXX) $(LDFLAGS) $(SRC) $(CXXFLAGS) -L. -L$(IDA_DIR) $(INCLUDES) -D__MAC__=1 $(LIBS) -lida -o HexRaysCodeXplorer.pmc

HexRaysCodeXplorer.pmc64: $(SRC)
    $(CXX) $(LDFLAGS) $(SRC) $(CXXFLAGS) -L. -L$(IDA_DIR) $(INCLUDES) -D__MAC__=1 -D__EA64__=1 $(LIBS) -lida64 -o HexRaysCodeXplorer.pmc64

clean:
    rm -f HexRaysCodeXplorer.pmc HexRaysCodeXplorer.pmc64

install:
    cp -f HexRaysCodeXplorer.pmc $(IDA_DIR)/plugins/
    cp -f HexRaysCodeXplorer.pmc64 $(IDA_DIR)/plugins/

check-env:
ifndef IDA_SDK
    $(error IDA_SDK is undefined)
endif
ifndef IDA_DIR
    $(error IDA_DIR is undefined)
endif
    ln -f -s $(IDA_SDK)/lib/x86_mac_gcc_32/pro.a libpro.a

.PHONY: check-env