Makefile 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/usr/bin/make -f
  2. # file: nvm/Makefile
  3. # ====================================================================
  4. # environment definitions;
  5. # --------------------------------------------------------------------
  6. include ../make.def
  7. # ====================================================================
  8. # symbols;
  9. # --------------------------------------------------------------------
  10. CFLAGS+=
  11. LDFLAGS+=
  12. TRASH=*.o *.obj *.exe t t.* *~ *.[0-9][0-9][0-9] *.test *-[0-9][0-9].nvm
  13. FILES=Makefile *.mak *.sh *.txt *.c *.h *.xml *.css
  14. TOOLS=chknvm chknvm1 chknvm2 nvmsplit nvmmerge tonvm
  15. PAGES=chknvm.1 chknvm1.1 chknvm2.1 nvmsplit.1 nvmmerge.1 tonvm.1
  16. # ====================================================================
  17. # pseudo targets;
  18. # --------------------------------------------------------------------
  19. all compile: ${TOOLS}
  20. compact: compile
  21. if [ ! -z ${STRIP} ]; then ${STRIP} ${TOOLS}; fi
  22. if [ -x /usr/local/bin/upx ]; then upx --best ${TOOLS}; fi
  23. scripts:
  24. manuals:
  25. if [ ! -d ${MAN} ]; then install -m ${DIR_PERM} -o ${OWNER} -g ${GROUP} -d ${MAN}; fi
  26. install -m ${MAN_PERM} -o ${OWNER} -g ${GROUP} ${PAGES} ${MAN}
  27. library:
  28. install -m ${DIR_PERM} -o ${OWNER} -g ${GROUP} -d ${BIN}
  29. install: compile library
  30. install -m ${BIN_PERM} -o ${OWNER} -g ${GROUP} ${TOOLS} ${BIN}
  31. uninstall:
  32. cd ${BIN}; rm -f ${TOOLS}
  33. clean:
  34. rm -f ${TRASH} ${TOOLS}
  35. check:
  36. ${SHELL} nvm.sh
  37. ignore:
  38. echo ${TOOLS} | tr ' ' '\n' > .gitignore
  39. # ====================================================================
  40. # rules;
  41. # --------------------------------------------------------------------
  42. %: %.o
  43. ${CC} -o ${@} ${^} ${LDFLAGS}
  44. %.o: %.c
  45. ${CC} -c ${<} ${CFLAGS}
  46. %.h: %.h
  47. # ====================================================================
  48. # programs;
  49. # --------------------------------------------------------------------
  50. chknvm: chknvm.o checksum32.o error.o fdchecksum32.o getoptv.o fdmanifest.o fdrevision.o panther_nvm_manifest.o nvm.o nvmpeek.o lightning_nvm_peek.o panther_nvm_peek.o putoptv.o panther_nvm_revision.o sdrampeek.o strfbits.o version.o hexout.o
  51. chknvm1: chknvm1.o checksum32.o error.o fdchecksum32.o getoptv.o fdmanifest.o fdrevision.o panther_nvm_manifest.o nvm.o nvmpeek.o lightning_nvm_peek.o panther_nvm_peek.o putoptv.o panther_nvm_revision.o sdrampeek.o strfbits.o version.o hexout.o
  52. chknvm2: chknvm2.o checksum32.o error.o getoptv.o panther_nvm_manifest.o panther_nvm_revision.o nvm.o nvmpeek.o lightning_nvm_peek.o panther_nvm_peek.o putoptv.o strfbits.o version.o hexout.o
  53. nvmmerge: nvmmerge.o checksum32.o error.o getoptv.o putoptv.o version.o
  54. nvmsplit: nvmsplit.o checksum32.o error.o getoptv.o putoptv.o version.o
  55. tonvm: tonvm.o basespec.o checksum32.o efreopen.o error.o getoptv.o putoptv.o todigit.o version.o
  56. # ====================================================================
  57. # includes;
  58. # --------------------------------------------------------------------
  59. include ../tools/tools.mak
  60. include ../ether/ether.mak
  61. include ../key/key.mak
  62. include ../ram/ram.mak
  63. include ../nvm/nvm.mak
  64. include ../plc/plc.mak