makefile.in 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. # Project Data
  2. PROJECT_NAME=avdl
  3. PROJECT_VERSION=1.0.0
  4. EXECUTABLE=${PROJECT_NAME}
  5. # Engine Data
  6. ENGINE_PATH=engines/cglut
  7. ENGINE_OUT=${ENGINE_PATH}/libddcglut.a
  8. INSTALL_LOCATION=@INSTALL_LOCATION@
  9. # Files for compilation
  10. SRC=$(wildcard src/*.c)
  11. YACC_SRC=yacc.tab.c
  12. YACC_HEADER=yacc.tab.h
  13. LEX_SRC=lex.yy.c
  14. # build the executable, depends on source, lex, yacc and all engines
  15. ${EXECUTABLE}: ${SRC} ${YACC_SRC} ${YACC_HEADER} ${LEX_SRC}
  16. gcc -Wall -Wpedantic -Wextra -DINSTALL_LOCATION=\"${INSTALL_LOCATION}\" \
  17. -DPROJECT_NAME=\"${PROJECT_NAME}\" -Iinclude -I. ${SRC} ${YACC_SRC} ${LEX_SRC} -o ${EXECUTABLE}
  18. # how to build lex
  19. ${LEX_SRC}: src/lex.l
  20. flex src/lex.l
  21. # how to build yacc
  22. ${YACC_SRC} ${YACC_HEADER}: src/yacc.y
  23. bison -d src/yacc.y
  24. # how to build the cglut engine
  25. engine:
  26. ${MAKE} -C ${ENGINE_PATH}
  27. install: ${EXECUTABLE}# ${ENGINE_PATH}/${ENGINE}
  28. ${MAKE} -C ${ENGINE_PATH} PREFIX=${INSTALL_LOCATION} install
  29. mkdir -p ${INSTALL_LOCATION}/bin
  30. install ${EXECUTABLE} ${INSTALL_LOCATION}/bin/
  31. #mkdir -p ${INSTALL_LOCATION}/share/${PROJECT_NAME}
  32. #install ${ENGINE_PATH}/${ENGINE} ${INSTALL_LOCATION}/share/${PROJECT_NAME}/${ENGINE}
  33. #install ${ENGINE_PATH}/index.html ${INSTALL_LOCATION}/share/${PROJECT_NAME}/index.html
  34. mkdir -p ${INSTALL_LOCATION}/share/man/man1/
  35. install manual/avdl.1 ${INSTALL_LOCATION}/share/man/man1/
  36. mkdir -p ${INSTALL_LOCATION}/share/info/
  37. install avdl.info.gz ${INSTALL_LOCATION}/share/info/
  38. # vim files
  39. mkdir -p ${INSTALL_LOCATION}/share/vim/vimfiles/syntax/
  40. install vim/syntax/avdl.vim ${INSTALL_LOCATION}/share/vim/vimfiles/syntax/
  41. mkdir -p ${INSTALL_LOCATION}/share/vim/vimfiles/ftdetect/
  42. install vim/ftdetect/avdl.vim ${INSTALL_LOCATION}/share/vim/vimfiles/ftdetect/
  43. clean:
  44. rm -f ${EXECUTABLE} ${LEX_SRC} ${YACC_SRC} ${YACC_HEADER}
  45. destclean: clean
  46. rm -f avdl.info.gz makefile
  47. .PHONY: clean destclean install engine