Guest User

Untitled

a guest
Jul 20th, 2018
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.16 KB | None | 0 0
  1. ##################################################
  2. # PROJECT: DynamixelSDK - ROBOTIS CO., Ltd.
  3. ##################################################
  4.  
  5. #---------------------------------------------------------------------
  6. # C COMPILER, COMPILER FLAGS, AND TARGET PROGRAM NAME
  7. #---------------------------------------------------------------------
  8. DIR_DXL = ../..
  9. DIR_OBJS = ./.objects
  10.  
  11. INSTALL_ROOT = /usr/local
  12.  
  13. MAJ_VERSION = 2
  14. MIN_VERSION = 0
  15. REV_VERSION = 0
  16.  
  17. TARGET = libdxl_x64_c.so
  18. TARGET1 = $(TARGET).$(MAJ_VERSION)
  19. TARGET2 = $(TARGET).$(MAJ_VERSION).$(MIN_VERSION)
  20. TARGET3 = $(TARGET).$(MAJ_VERSION).$(MIN_VERSION).$(REV_VERSION)
  21.  
  22. CHK_DIR_EXISTS = test -d
  23. PRINT = echo
  24. STRIP = strip
  25. AR = ar
  26. ARFLAGS = cr
  27. LD = g++
  28. LDFLAGS = -shared -fPIC $(FORMAT)#-Wl,-soname,dxl
  29. LD_CONFIG = ldconfig
  30. CP = cp
  31. CP_ALL = cp -r
  32. RM = rm
  33. RM_ALL = rm -rf
  34. SYMLINK = ln -s
  35. MKDIR = mkdir
  36. CC = gcc
  37. CX = g++
  38. CCFLAGS = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c $(INCLUDES) $(FORMAT) -fPIC -g
  39. CXFLAGS = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c $(INCLUDES) $(FORMAT) -fPIC -g
  40. FORMAT = -m64
  41. INCLUDES += -I$(DIR_DXL)/include/dynamixel_sdk
  42.  
  43. #---------------------------------------------------------------------
  44. # Required external libraries
  45. #---------------------------------------------------------------------
  46. LIBRARIES += -lrt
  47.  
  48. #---------------------------------------------------------------------
  49. # SDK Files
  50. #---------------------------------------------------------------------
  51. SOURCES = src/dynamixel_sdk/group_bulk_read.c \
  52. src/dynamixel_sdk/group_bulk_write.c \
  53. src/dynamixel_sdk/group_sync_read.c \
  54. src/dynamixel_sdk/group_sync_write.c \
  55. src/dynamixel_sdk/packet_handler.c \
  56. src/dynamixel_sdk/port_handler.c \
  57. src/dynamixel_sdk/protocol1_packet_handler.c \
  58. src/dynamixel_sdk/protocol2_packet_handler.c \
  59. src/dynamixel_sdk_linux/port_handler_linux.c \
  60.  
  61.  
  62. OBJECTS=$(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
  63.  
  64.  
  65. #---------------------------------------------------------------------
  66. # COMPILING RULES
  67. #---------------------------------------------------------------------
  68. $(TARGET): makedirs $(OBJECTS)
  69. $(LD) $(LDFLAGS) -o ./$(TARGET) $(OBJECTS) $(LIBRARIES)
  70.  
  71. makedirs:
  72. mkdir -p $(DIR_OBJS)/
  73.  
  74. clean:
  75. rm -f $(OBJECTS) ./$(TARGET)
  76.  
  77. install: $(TARGET)
  78. # copy the binaries into the lib directory
  79. @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/lib || $(MKDIR) $(INSTALL_ROOT)/lib
  80. -$(CP) "./$(TARGET)" "$(INSTALL_ROOT)/lib/$(TARGET)"
  81. -$(SYMLINK) "$(INSTALL_ROOT)/lib/$(TARGET)" "$(INSTALL_ROOT)/lib/$(TARGET1)"
  82. -$(SYMLINK) "$(INSTALL_ROOT)/lib/$(TARGET)" "$(INSTALL_ROOT)/lib/$(TARGET2)"
  83. -$(SYMLINK) "$(INSTALL_ROOT)/lib/$(TARGET)" "$(INSTALL_ROOT)/lib/$(TARGET3)"
  84.  
  85. # copy the headers into the include directory
  86. @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/include/dynamixel_sdk || $(MKDIR) $(INSTALL_ROOT)/include/dynamixel_sdk
  87. $(CP_ALL) $(DIR_DXL)/include/dynamixel_sdk/* $(INSTALL_ROOT)/include/dynamixel_sdk/
  88.  
  89. $(LD_CONFIG)
  90.  
  91. uninstall:
  92. $(RM) $(INSTALL_ROOT)/lib/$(TARGET)
  93. $(RM) $(INSTALL_ROOT)/lib/$(TARGET1)
  94. $(RM) $(INSTALL_ROOT)/lib/$(TARGET2)
  95. $(RM) $(INSTALL_ROOT)/lib/$(TARGET3)
  96.  
  97. $(RM) $(INSTALL_ROOT)/include/dynamixel_sdk/dynamixel_sdk.h
  98. $(RM_ALL) $(INSTALL_ROOT)/include/dynamixel_sdk/*
  99.  
  100. reinstall: uninstall install
  101.  
  102.  
  103. #---------------------------------------------------------------------
  104. # Make rules for all .c and .cpp files in each directory
  105. #---------------------------------------------------------------------
  106.  
  107. $(DIR_OBJS)/%.o: $(DIR_DXL)/src/dynamixel_sdk/%.c
  108. $(CC) $(CCFLAGS) -c $? -o $@
  109.  
  110. $(DIR_OBJS)/%.o: $(DIR_DXL)/src/dynamixel_sdk/%.cpp
  111. $(CX) $(CXFLAGS) -c $? -o $@
  112.  
  113. $(DIR_OBJS)/%.o: $(DIR_DXL)/src/dynamixel_sdk/%.c
  114. $(CC) $(CCFLAGS) -c $? -o $@
  115.  
  116. $(DIR_OBJS)/%.o: $(DIR_DXL)/src/dynamixel_sdk/%.cpp
  117. $(CX) $(CXFLAGS) -c $? -o $@
  118.  
  119. #---------------------------------------------------------------------
  120. # END OF MAKEFILE
  121. #---------------------------------------------------------------------
Add Comment
Please, Sign In to add comment