SHMUP: Restructure Makefile
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 35/100
- Issue 类型
- 重构
- 描述清晰度
- 描述清楚
- 活跃度
- 停滞
- 领域
- build-system
调研方向
先阅读 Makefile 和链接的 pull request #57,然后将其中的变量、路径以及 in-tree 或 out-of-tree 构建步骤与此 issue 中的检查清单进行比较。当 Makefile 更简单、使用所要求的变量语法,并且 tutorial 项目仍能成功构建时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
Continuing the discussion in https://github.com/gbdev/gb-asm-tutorial/pull/57:
@ISSOtm said:
Regarding the Makefile, I have a few primary suggestions right now. Most of them revolve around making the Makefile drastically simpler, following the theme of introducing new concepts incrementally.
- Remove the
SRCDIRvariable. The point of variables likeOBJDIRis to allow building out-of-tree in a flexible location; however, it makes imo no sense to allow pointing the Makefile at a different source tree, since it's inherently part of it. - Use
${}for variables instead of$(). This helps differentiate them from function calls (which only accept the latter syntax); this is especially useful when both kinds are nested. - Remove all of the
*DIRandRGB*variables. For a "directed" project like this, it should be fine to hardcode all paths; this will notably remove one layer of indirection, and allow the reader to familiarise themselves with what that layer of indirection will "resolve" to. (There may be a case for keeping all of theRGB*variables, in case someone doesn't have RGBDS in their path, or under different names? Idk.) - Build in-tree. Building out-of-tree is better for a lot of reasons, but adds significant complexity (creating output directories, doing more path substitution instead of just extension rewriting, etc.). Again, since this is a "controlled environment", it should be fine to do things slightly dirty if it helps introducing concepts gradually; additionally, I believe experiencing the downsides of in-tree builds should help justify the extra complexity of out-of-tree builds when they're introduced later.
- 主要语言
- Assembly
- 星标
- 179
- 派生
- 64
- 平均合并
- 7 天 22 小时
- 30 天内合并 PR
- 1
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
gbdev/gb-asm-tutorial 的其他 Issue
-
难度 1/5 1 小时以内 新手友好度 85/100
gbdev/gb-asm-tutorial#194 ·
-
难度 2/5 1-3 小时 新手友好度 68/100
gbdev/gb-asm-tutorial#184 · 1 条评论 ·
-
good first issue
难度 1/5 1 小时以内 新手友好度 75/100
gbdev/gb-asm-tutorial#141 · 2 条评论 · 2 个 reaction ·
-
难度 1/5 1 小时以内 新手友好度 65/100
gbdev/gb-asm-tutorial#109 ·
-
难度 3/5 1-2 天 新手友好度 55/100
gbdev/gb-asm-tutorial#183 ·
查看 gbdev/gb-asm-tutorial 的全部 Issue
相似的 Issue
-
area/install-update comp/cli comp/desktop P3 sweeper:risk-compatibility type/bug
难度 2/5 1-3 小时 新手友好度 86/100
NousResearch/hermes-agent#122386 · 1 条评论 ·
-
bug dependencies priority:low
难度 1/5 1 小时以内 新手友好度 90/100
CyberAgent/psd2svg#428 ·
-
issue: bug report
难度 1/5 1 小时以内 新手友好度 90/100
-
area/dependencies kind/cve severity/critical source/scan-dependencies status/triage
难度 2/5 1-3 小时 新手友好度 82/100
-
- P2: nice to have pkg: astro triage: fix pending
难度 2/5 1-3 小时 新手友好度 84/100