makefile 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. include ../../common/make.config
  2. ifdef OUTPUT
  3. override OUTPUT = -DOUTPUT
  4. endif
  5. OCL_INC_DIR = -I$(OPENCL_INC)
  6. OCL_LIB_DIR = -L$(OPENCL_LIB)
  7. C_C = gcc
  8. OCL_LIB = -lOpenCL
  9. ./a.out: ./main.o \
  10. ./kernel/kernel_gpu_opencl_wrapper.o \
  11. ./util/avi/avilib.o \
  12. ./util/avi/avimod.o \
  13. ./util/file/file.o \
  14. ./util/timer/timer.o \
  15. ./util/opencl/opencl.o
  16. $(C_C) ./main.o \
  17. ./kernel/kernel_gpu_opencl_wrapper.o \
  18. ./util/avi/avilib.o \
  19. ./util/avi/avimod.o \
  20. ./util/file/file.o \
  21. ./util/timer/timer.o \
  22. ./util/opencl/opencl.o \
  23. -lm \
  24. $(OCL_LIB_DIR) \
  25. $(OCL_LIB) -o heartwall
  26. # ======================================================================================================================================================150
  27. # MAIN FUNCTION
  28. # ======================================================================================================================================================150
  29. ./main.o: ./main.h \
  30. ./main.c
  31. $(C_C) $(OUTPUT) $(KERNEL_DIM) ./main.c \
  32. -c \
  33. -o ./main.o \
  34. -O3
  35. # ======================================================================================================================================================150
  36. # KERNELS
  37. # ======================================================================================================================================================150
  38. ./kernel/kernel_gpu_opencl_wrapper.o: ./kernel/kernel_gpu_opencl_wrapper.h \
  39. ./kernel/kernel_gpu_opencl_wrapper.c
  40. $(C_C) $(KERNEL_DIM) ./kernel/kernel_gpu_opencl_wrapper.c \
  41. -c \
  42. -o ./kernel/kernel_gpu_opencl_wrapper.o \
  43. -O3 \
  44. $(OCL_INC_DIR)
  45. # ======================================================================================================================================================150
  46. # UTILITIES
  47. # ======================================================================================================================================================150
  48. ./util/avi/avilib.o:./util/avi/avilib.h \
  49. ./util/avi/avilib.c
  50. $(C_C) ./util/avi/avilib.c \
  51. -c \
  52. -o ./util/avi/avilib.o \
  53. -O3
  54. ./util/avi/avimod.o:./util/avi/avilib.h \
  55. ./util/avi/avimod.c
  56. $(C_C) ./util/avi/avimod.c \
  57. -c \
  58. -o ./util/avi/avimod.o \
  59. -O3
  60. ./util/file/file.o: ./util/file/file.h \
  61. ./util/file/file.c
  62. $(C_C) ./util/file/file.c \
  63. -c \
  64. -o ./util/file/file.o \
  65. -O3
  66. ./util/timer/timer.o: ./util/timer/timer.h \
  67. ./util/timer/timer.c
  68. $(C_C) ./util/timer/timer.c \
  69. -c \
  70. -o ./util/timer/timer.o \
  71. -O3
  72. ./util/opencl/opencl.o: ./util/opencl/opencl.h \
  73. ./util/opencl/opencl.c
  74. $(C_C) ./util/opencl/opencl.c \
  75. -c \
  76. -o ./util/opencl/opencl.o \
  77. -O3 \
  78. $(OCL_INC_DIR)
  79. clean:
  80. rm *.o heartwall \
  81. ./kernel/*.o \
  82. ./util/avi/*.o \
  83. ./util/file/*.o \
  84. ./util/timer/*.o \
  85. ./util/opencl/*.o