Advertisement
Guest User

Untitled

a guest
Sep 17th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 2.11 KB | None | 0 0
  1. # Define the library properties here:
  2.  
  3.  
  4.  
  5. LIB_NAME = fixmath
  6.  
  7.  
  8.  
  9. CC=libtool --mode=compile mipsel-linux-gcc
  10.  
  11. RANLIB=mipsel-linux-ranlib
  12.  
  13. LD=mipsel-linux-gcc -shared
  14.  
  15. DESTDIR=/opt/mipsel-linux-uclibc/usr
  16.  
  17. LIB_SUFFIX=/lib/
  18.  
  19. HEADER_SUFFIX=/include/libfixmath/
  20.  
  21. INST_LIB=install -m 644
  22.  
  23. INST_HEADER=install -m 644
  24.  
  25. lib_LTLIBRARIES= libfixmath.a \
  26.  
  27.          libfixmath.so
  28.  
  29.  
  30.  
  31. lib_LTHEADERS= $(wildcard *.h) \
  32.  
  33.          $(wildcard *.hpp)
  34.  
  35.  
  36.  
  37. # Define the compiler settings here:
  38.  
  39.  
  40.  
  41. SOURCE    = .
  42.  
  43.  
  44.  
  45. INCLUDE   = -I .. -I include
  46.  
  47.  
  48.  
  49. W_OPTS    = -Wall -Wextra
  50.  
  51. CPP_OPTS  = -O3 $(INCLUDE) $(W_OPTS) -c
  52.  
  53. CC_OPTS   = -O3 $(INCLUDE) $(W_OPTS) -c
  54.  
  55.  
  56.  
  57. LIB_PATH  =
  58.  
  59. LIBS      =
  60.  
  61. LD_OPTS   = $(LIB_PATH) $(LIBS) -o $(LIB_NAME)
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69. # Find all source files
  70.  
  71.  
  72.  
  73. SRC_CPP = $(foreach dir, $(SOURCE), $(wildcard $(dir)/*.cpp))
  74.  
  75. SRC_C   = $(foreach dir, $(SOURCE), $(wildcard $(dir)/*.c))
  76.  
  77. OBJ_CPP = $(patsubst %.cpp, %.o, $(SRC_CPP))
  78.  
  79. OBJ_C   = $(patsubst %.c, %.o, $(SRC_C))
  80.  
  81. OBJ     = $(OBJ_CPP) $(OBJ_C) $(OBJ_S)
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89. # Compile rules.
  90.  
  91.  
  92.  
  93. .PHONY : all
  94.  
  95.  
  96.  
  97. all : $(LIB_NAME).a \
  98.  
  99.       $(LIB_NAME).so
  100.  
  101.  
  102.  
  103. $(LIB_NAME).a : $(OBJ)
  104.  
  105.     $(AR) rcs lib$(LIB_NAME).a $(OBJ)
  106.  
  107.     $(RANLIB) lib$(LIB_NAME).a
  108.  
  109.  
  110.  
  111. $(LIB_NAME).so : $(OBJ)
  112.  
  113.     $(LD) -o lib$(LIB_NAME).so $(OBJ)
  114.  
  115.  
  116.  
  117. $(OBJ_CPP) : %.o : %.cpp
  118.  
  119.     $(CPP) $(CPP_OPTS) -o $@ $<
  120.  
  121.  
  122.  
  123. $(OBJ_C) : %.o : %.c
  124.  
  125.     $(CC) $(CC_OPTS) -fPIC -o $@ $<
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133. # Clean rules
  134.  
  135.  
  136.  
  137. .PHONY : clean
  138.  
  139.  
  140.  
  141. clean :
  142.  
  143.     rm -f $(OBJ) $(LIB_NAME).a $(LIB_NAME).so
  144.  
  145.  
  146.  
  147. # Install rules.
  148.  
  149.  
  150.  
  151. .PHONY : install
  152.  
  153.  
  154.  
  155. install : $(LIB_NAME).a $(LIB_NAME).so $(install_libs) $(install_headers)
  156.  
  157.     -rm -rf $(DESTDIR)$(LIB_SUFFIX)
  158.  
  159.     mkdir $(DESTDIR)$(LIB_SUFFIX)
  160.  
  161.     -chmod 777 $(DESTDIR)$(LIB_SUFFIX)
  162.  
  163.     -rm -rf $(DESTDIR)$(HEADER_SUFFIX)
  164.  
  165.     mkdir $(DESTDIR)$(HEADER_SUFFIX)
  166.  
  167.     -chmod 777 $(DESTDIR)$(HEADER_SUFFIX)
  168.  
  169.     @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
  170.  
  171.         $(INST_LIB) $$p $(DESTDIR)$(LIB_SUFFIX); \
  172.  
  173.     done; \
  174.  
  175.     list2='$(lib_LTHEADERS)'; for p in $$list2; do \
  176.  
  177.         $(INST_HEADER) $$p $(DESTDIR)$(HEADER_SUFFIX); \
  178.  
  179.     done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement