makefile 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. # ---------- ---------- ---------- ---------- ---------- ----------
  2. # workspaces-v makefile
  3. # ---------- ---------- ---------- ---------- ---------- ----------
  4. UserAt=$(if $(u),-u $(u),)
  5. Build=$(if $(b),-b $(b),-b stable)
  6. ProtoPathToHardMake=./lib/hardmake/
  7. PathToHardMake=-p $(ProtoPathToHardMake)
  8. HardMake=$(ProtoPathToHardMake)hardmake.sh
  9. ConfigFileBase=-f dependencies-base.yaml
  10. ConfigFilePeers=-f dependencies-peers.yaml
  11. ConfigFile=-f dependencies.yaml
  12. IngredientsBase=-i '\
  13. dotfiles \
  14. cyberpunk2019 \
  15. hardmake \
  16. muttrc \
  17. protoculture \
  18. '
  19. IngredientsContrib=-i '\
  20. Gnusocial \
  21. '
  22. IngredientsPeers=-i '\
  23. PeersBountyHunts \
  24. PeersTemplate \
  25. PeersWww \
  26. ProjectJams \
  27. peerskart \
  28. PeersMirrors \
  29. '
  30. Ingredients=-i '\
  31. AwesomeTtrpg \
  32. BearAdventures \
  33. CodeExamples \
  34. DokkTtrpg \
  35. DragoraBuild \
  36. GhodssYaml \
  37. GnusocialTracker \
  38. MfwsFe \
  39. OrbitalDrydock \
  40. QemuSubsystems \
  41. ResponsivePelican \
  42. SelfSovereignID \
  43. YesodMyblog \
  44. apiPublicInformation \
  45. foolkicker \
  46. langskip \
  47. langskip2 \
  48. sins \
  49. staticSiteGenerator \
  50. '
  51. target: help
  52. # ---------- ---------- ---------- ---------- ---------- ----------
  53. #NOTE: The remaining recipes follow:
  54. # ---------- ---------- ---------- ---------- ---------- ----------
  55. .PHONY: help
  56. help:
  57. @echo help says:
  58. @echo Type \"make int\" to install the dependencies.
  59. @echo See makefile for more info.
  60. @echo Optionally, append \"u=foo\" for a user named foo.
  61. @echo $(UserAt)
  62. .PHONY: clean
  63. clean:
  64. rm -r ./bin
  65. .PHONY: init
  66. init: hardmake deps
  67. .PHONY: hardmake
  68. hardmake:
  69. git clone https://notabug.org/vaeringjar/hardmake.git $(ProtoPathToHardMake)
  70. .PHONY: test
  71. test:
  72. @$(HardMake) $(PathToHardMake) $(ConfigFileBase) $(IngredientsBase) $(Build) $(UserAt)
  73. @echo done
  74. .PHONY: deps
  75. deps:
  76. @echo Next: you should manually choose a deps option:
  77. @echo make deps-all
  78. @echo make deps-base
  79. @echo make deps-peers
  80. @echo make deps-main
  81. .PHONY: deps-all
  82. deps-all: deps-base deps-contrib deps-peers deps-main
  83. .PHONY: deps-base
  84. deps-base:
  85. @$(HardMake) -d $(PathToHardMake) $(ConfigFileBase) $(IngredientsBase) $(Build) $(UserAt)
  86. @echo done
  87. .PHONY: deps-contrib
  88. deps-contrib:
  89. @$(HardMake) -d $(PathToHardMake) $(ConfigFile) $(IngredientsContrib) $(Build) $(UserAt)
  90. @echo done
  91. .PHONY: deps-peers
  92. deps-peers:
  93. @$(HardMake) -d $(PathToHardMake) $(ConfigFilePeers) $(IngredientsPeers) $(Build) $(UserAt)
  94. @echo done
  95. .PHONY: deps-main
  96. deps-main:
  97. @$(HardMake) -d $(PathToHardMake) $(ConfigFile) $(Ingredients) $(Build) $(UserAt)
  98. @echo done
  99. .PHONY: status
  100. status:
  101. @./src/make/status.sh