makefile 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. include ../../common/make.config
  2. # Example
  3. # target: dependencies
  4. # command 1
  5. # command 2
  6. # .
  7. # .
  8. # .
  9. # command n
  10. ifdef OUTPUT
  11. override OUTPUT = -DOUTPUT
  12. endif
  13. C_C = gcc
  14. OMP_LIB = -lgomp
  15. OMP_FLAG = -fopenmp
  16. OCL_LIB = -L$(OPENCL_LIB) \
  17. -lOpenCL
  18. OCL_INC = -I$(OPENCL_INC)
  19. # link objects together
  20. a.out: main.o \
  21. ./kernel/kernel_gpu_opencl_wrapper.o \
  22. ./util/num/num.o \
  23. ./util/timer/timer.o \
  24. ./util/opencl/opencl.o
  25. $(C_C) main.o \
  26. ./kernel/kernel_gpu_opencl_wrapper.o \
  27. ./util/num/num.o \
  28. ./util/timer/timer.o \
  29. ./util/opencl/opencl.o \
  30. -lm \
  31. $(OCL_LIB) \
  32. -o lavaMD
  33. # compile function files into objects
  34. main.o: main.h \
  35. main.c \
  36. ./kernel/kernel_gpu_opencl_wrapper.h \
  37. ./kernel/kernel_gpu_opencl_wrapper.c \
  38. ./util/num/num.h \
  39. ./util/num/num.c \
  40. ./util/timer/timer.h \
  41. ./util/timer/timer.c \
  42. ./util/opencl/opencl.h \
  43. ./util/opencl/opencl.c
  44. $(C_C) $(OUTPUT) $(KERNEL_DIM) main.c \
  45. -c \
  46. -o main.o \
  47. -O3
  48. ./kernel/kernel_gpu_opencl_wrapper.o: ./kernel/kernel_gpu_opencl_wrapper.h \
  49. ./kernel/kernel_gpu_opencl_wrapper.c
  50. $(C_C) $(KERNEL_DIM) ./kernel/kernel_gpu_opencl_wrapper.c \
  51. $(OCL_INC) \
  52. -c \
  53. -o ./kernel/kernel_gpu_opencl_wrapper.o \
  54. -O3
  55. ./util/num/num.o: ./util/num/num.h \
  56. ./util/num/num.c
  57. $(C_C) ./util/num/num.c \
  58. -c \
  59. -o ./util/num/num.o \
  60. -O3
  61. ./util/timer/timer.o: ./util/timer/timer.h \
  62. ./util/timer/timer.c
  63. $(C_C) ./util/timer/timer.c \
  64. -c \
  65. -o ./util/timer/timer.o \
  66. -O3
  67. ./util/opencl/opencl.o: ./util/opencl/opencl.h \
  68. ./util/opencl/opencl.c
  69. $(C_C) ./util/opencl/opencl.c \
  70. $(OCL_INC) \
  71. -c \
  72. -o ./util/opencl/opencl.o \
  73. -O3
  74. # delete all object and executable files
  75. clean:
  76. rm *.o lavaMD \
  77. ./kernel/*.o \
  78. ./util/num/*.o \
  79. ./util/timer/*.o \
  80. ./util/opencl/*.o \