Makefile 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. CXX = g++
  2. RM = rm -f
  3. PYTHON_CFLAGS = -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 -Wdate-time #-fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -g -fwrapv
  4. PYTHON_LDFLAGS = -L/usr/lib/python2.7/config-x86_64-linux-gnu -lpython2.7 -lutil #-ldl -lm #-Wl,-export-dynamic -Wl,-Bsymbolic-functions
  5. CXX_FLAGS = -Wall -O2 -std=c++11 -fpic -fdata-sections -ffunction-sections
  6. #${PYTHON_CFLAGS}
  7. LD = ${CXX} -v
  8. LD_FLAGS = -Wall ${PYTHON_LDFLAGS}
  9. all_non_sgx_obj := $(system_obj) $(protobuf_obj) #$(patsubst %.cpp,%.o,$(all_non_sgx_cpp)}
  10. all_non_sgx_cpp := $(patsubst %.o,%.cpp,$(all_non_sgx_obj))
  11. sgx_protobuf_obj := $(patsubst %.cpp,%.o,$(wildcard SgxProtobuf*))
  12. sgx_obj := $(patsubst %.cpp,%.o,$(wildcard Sgx*))
  13. protobuf_obj := $(patsubst %.cpp,%.o,$(wildcard Protobuf*))
  14. system_obj := $(patsubst %.cpp,%.o,$(wildcard system*))
  15. OBJECTS := systemMain.o systemSealerWrapper.o SgxSealer.o ProtobufLAInitiator.o SgxProtobufLAInitiator.o SgxProtobufLAInitiator_Transforms.o ProtobufLAMessages.pb.o crypto.o
  16. SGX_SDK := /opt/intel/sgxsdk#/home/m2mazmud/sgx2.1_installation/sgxsdk
  17. SGX_COMMON_CFLAGS := -m64
  18. SGX_LIBRARY_PATH := $(SGX_SDK)/lib64
  19. Trts_Library_Name := sgx_trts
  20. Service_Library_Name := sgx_tservice
  21. Crypto_Library_Name := sgx_tcrypto
  22. SGX_INCLUDE_PATHS := -I$(SGX_SDK)/include -I$(SGX_SDK)/include/tlibc -I$(SGX_SDK)/include/libcxx
  23. Openssl_Path := /home/m2mazmud/plain-openssl
  24. Uae_Library_Name := sgx_uae_service
  25. all: verifier #${OBJECTS}
  26. clean:
  27. ${RM} *.obj *~* systemMain.o DeploymentStageLogic.o LAInitiator/LA.o LAInitiator/Transforms.o PostLA/PostLAMessaging.o ProtobufAutogenerated/ProtobufLAMessages.pb.o ProtobufMessageRW.o crypto.o
  28. #DeploymentStageLogic.o: DeploymentStageLogic.cpp
  29. # ${CXX} -I./include ${CXX_FLAGS} -c $^ -o $@
  30. LAInitiator/%.o: LAInitiator/%.cpp
  31. ${CXX} -I./include -I$(SGX_SDK)/include ${CXX_FLAGS} -c $^ -o $@
  32. PostLA/%.o: PostLA/%.cpp
  33. ${CXX} -I./include -I$(SGX_SDK)/include ${CXX_FLAGS} -c $^ -o $@
  34. ProtobufAutogenerated/%.o: ProtobufAutogenerated/%.cpp
  35. ${CXX} -I./include ${CXX_FLAGS} -c $^ -o $@
  36. %.o: %.cpp
  37. ${CXX} -I./include ${CXX_FLAGS} -c $^ -o $@
  38. #-I/usr/lib/jvm/java-8-openjdk-amd64/include/ -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux/
  39. crypto.o: crypto.cpp
  40. ${CXX} -I${Openssl_Path}/include ${CXX_FLAGS} -c $^ -o $@
  41. verifier: systemMain.o DeploymentStageLogic.o LAInitiator/LA.o LAInitiator/Transforms.o PostLA/PostLAMessaging.o ProtobufAutogenerated/ProtobufLAMessages.pb.o ProtobufMessageRW.o crypto.o
  42. #systemMain.o DeploymentStageLogic.o systemSealerWrapper.o SgxSealer.o LAInitiator/LA.o LAInitiator/Transforms.o PostLA/PostLAMessaging.o ProtobufAutogenerated/ProtobufLAMessages.pb.o ProtobufMessageRW.o crypto.o
  43. # echo $(system_obj)
  44. ${CXX} -Wl,--no-undefined systemMain.o DeploymentStageLogic.o LAInitiator/LA.o LAInitiator/Transforms.o PostLA/PostLAMessaging.o ProtobufAutogenerated/ProtobufLAMessages.pb.o ProtobufMessageRW.o crypto.o -L${Openssl_Path}/lib -lcrypto -lssl -L./ -l$(Service_Library_Name) -l$(Crypto_Library_Name) -L/home/m2mazmud/linux-sgx-trts-modified/build/linux -lsgx_tstdc -lsgx_trts ${LD_FLAGS} -lprotobuf -o $@
  45. #-L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server -ljvm
  46. #-L/home/m2mazmud/linux-sgx-trts-modified/build/linux -lsgx_tstdc -lsgx_trts ${LD_FLAGS} -o $@
  47. #-Wl,-rpath,$(SGX_SDK)/lib64 systemMain.o ${LD_FLAGS} -o $@
  48. #systemSealerWrapper.o SgxSealer.o ProtobufLAInitiator.o SgxProtobufLAInitiator.o SgxProtobufLAInitiator_Transforms.o ProtobufLAMessages.pb.o crypto.o
  49. #${LD_FLAGS}
  50. #-L./ -Wl,--whole-archive -l$(Trts_Library_Name) -Wl,--no-whole-archive -L$(SGX_LIBRARY_PATH) -l$(Service_Library_Name) -l$(Crypto_Library_Name) -lsgx_tstdc
  51. # -lprotobuf
  52. # -L${Openssl_Path}/lib -lssl -lcrypto
  53. # -o $@
  54. # -L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server -ljvm