Makefile 5.3 KB

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