Makefile 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. include ../../common/make.config
  2. C_C = gcc
  3. OCL_LIB = -lOpenCL
  4. # ====================================================================================================100
  5. # NVCC
  6. # ====================================================================================================100
  7. # CUD_C = nvcc
  8. # OMP_FLAG = -Xcompiler paste_one_here
  9. # ====================================================================================================100
  10. # PGCC
  11. # ====================================================================================================100
  12. # C_C = pgcc
  13. # OMP_FLAG = -mp
  14. # ACC_FLAG = -ta=nvidia \
  15. # -Minfo \
  16. # -Mbounds
  17. # ====================================================================================================100
  18. # END
  19. # ====================================================================================================100
  20. # ======================================================================================================================================================150
  21. # END
  22. # ======================================================================================================================================================150
  23. # ========================================================================================================================================================================================================200
  24. # EXECUTABLES (LINK OBJECTS TOGETHER INTO BINARY)
  25. # ========================================================================================================================================================================================================200
  26. b+tree.out: ./main.o \
  27. ./kernel/kernel_gpu_opencl_wrapper.o \
  28. ./kernel/kernel_gpu_opencl_wrapper_2.o \
  29. ./util/timer/timer.o \
  30. ./util/num/num.o \
  31. ./util/opencl/opencl.o
  32. $(C_C) ./main.o \
  33. ./kernel/kernel_gpu_opencl_wrapper.o \
  34. ./kernel/kernel_gpu_opencl_wrapper_2.o \
  35. ./util/timer/timer.o \
  36. ./util/num/num.o \
  37. ./util/opencl/opencl.o \
  38. -lm \
  39. -L$(OPENCL_LIB) \
  40. -lOpenCL \
  41. -o b+tree.out
  42. # ========================================================================================================================================================================================================200
  43. # OBJECTS (COMPILE SOURCE FILES INTO OBJECTS)
  44. # ========================================================================================================================================================================================================200
  45. # ======================================================================================================================================================150
  46. # MAIN FUNCTION
  47. # ======================================================================================================================================================150
  48. main.o: ./common.h \
  49. ./main.h \
  50. ./main.c
  51. $(C_C) $(KERNEL_DIM) ./main.c \
  52. -c \
  53. -o ./main.o \
  54. -O3
  55. # ======================================================================================================================================================150
  56. # KERNELS
  57. # ======================================================================================================================================================150
  58. ./kernel/kernel_gpu_opencl_wrapper.o: ./common.h \
  59. ./kernel/kernel_gpu_opencl_wrapper.h \
  60. ./kernel/kernel_gpu_opencl_wrapper.c
  61. $(C_C) $(KERNEL_DIM) ./kernel/kernel_gpu_opencl_wrapper.c \
  62. -c \
  63. -o ./kernel/kernel_gpu_opencl_wrapper.o \
  64. -O3 \
  65. -I$(OPENCL_INC)
  66. ./kernel/kernel_gpu_opencl_wrapper_2.o: ./common.h \
  67. ./kernel/kernel_gpu_opencl_wrapper_2.h \
  68. ./kernel/kernel_gpu_opencl_wrapper_2.c
  69. $(C_C) $(KERNEL_DIM) ./kernel/kernel_gpu_opencl_wrapper_2.c \
  70. -c \
  71. -o ./kernel/kernel_gpu_opencl_wrapper_2.o \
  72. -O3 \
  73. -I$(OPENCL_INC)
  74. # ======================================================================================================================================================150
  75. # UTILITIES
  76. # ======================================================================================================================================================150
  77. ./util/timer/timer.o: ./common.h \
  78. ./util/timer/timer.h \
  79. ./util/timer/timer.c
  80. $(C_C) ./util/timer/timer.c \
  81. -c \
  82. -o ./util/timer/timer.o \
  83. -O3
  84. ./util/num/num.o: ./common.h \
  85. ./util/num/num.h \
  86. ./util/num/num.c
  87. $(C_C) ./util/num/num.c \
  88. -c \
  89. -o ./util/num/num.o \
  90. -O3
  91. ./util/opencl/opencl.o: ./common.h \
  92. ./util/opencl/opencl.h \
  93. ./util/opencl/opencl.c
  94. $(C_C) ./util/opencl/opencl.c \
  95. -c \
  96. -o ./util/opencl/opencl.o \
  97. -O3 \
  98. -I$(OPENCL_INC)
  99. # ======================================================================================================================================================150
  100. # END
  101. # ======================================================================================================================================================150
  102. # ========================================================================================================================================================================================================200
  103. # DELETE
  104. # ========================================================================================================================================================================================================200
  105. clean:
  106. rm *.o *.out \
  107. ./kernel/*.o \
  108. ./util/timer/*.o \
  109. ./util/num/*.o \
  110. ./util/opencl/*.o \
  111. output.txt
  112. # ========================================================================================================================================================================================================200
  113. # END
  114. # ========================================================================================================================================================================================================200