{"action":"created","issue":{"url":"https://api.github.com/repos/EtchedPixels/FUZIX/issues/139","labels_url":"https://api.github.com/repos/EtchedPixels/FUZIX/issues/139/labels{/name}","comments_url":"https://api.github.com/repos/EtchedPixels/FUZIX/issues/139/comments","events_url":"https://api.github.com/repos/EtchedPixels/FUZIX/issues/139/events","html_url":"https://github.com/EtchedPixels/FUZIX/pull/139","id":61249109,"number":139,"title":"Updated build system WIP","user":{"login":"davidgiven","id":100638,"avatar_url":"https://avatars.githubusercontent.com/u/100638?v=3","gravatar_id":"","url":"https://api.github.com/users/davidgiven","html_url":"https://github.com/davidgiven","followers_url":"https://api.github.com/users/davidgiven/followers","following_url":"https://api.github.com/users/davidgiven/following{/other_user}","gists_url":"https://api.github.com/users/davidgiven/gists{/gist_id}","starred_url":"https://api.github.com/users/davidgiven/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidgiven/subscriptions","organizations_url":"https://api.github.com/users/davidgiven/orgs","repos_url":"https://api.github.com/users/davidgiven/repos","events_url":"https://api.github.com/users/davidgiven/events{/privacy}","received_events_url":"https://api.github.com/users/davidgiven/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-03-13T21:23:10Z","updated_at":"2015-03-14T09:24:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/EtchedPixels/FUZIX/pulls/139","html_url":"https://github.com/EtchedPixels/FUZIX/pull/139","diff_url":"https://github.com/EtchedPixels/FUZIX/pull/139.diff","patch_url":"https://github.com/EtchedPixels/FUZIX/pull/139.patch"},"body":"Hello,\r\n\r\nI was trying to beat my MSP430 port into shape the other day and got frustrated at the build system, so thought I'd try to overhaul it; I may have gotten a little carried away...\r\n\r\nThis is a WIP of a replacement build system. The only kernel I've done so far is the msx2, and I haven't been able to verify that it works yet, but all the rest builds. Features include:\r\n\r\n- builds everything; kernel, applications, libc, file system image, host tools\r\n- proper dependency tracking of everything, including headers\r\n- builds everything in a single pass (which means no recursive makefiles, and much faster incremental builds)\r\n- fully parallelisable\r\n- out-of-tree object files; different platforms' objects live in different subdirectories, so you can have multiple platforms built at the same time without their object files stepping on each other\r\n- modular; all the target-specific compiler settings are isolated in their own file --- which means all the SDCC horror is abstracted away. Adding a new toolchain should be really easy\r\n- preprocessable assembler files\r\n\r\nPlus, some of the logic that's been dealt with in helper scripts is now done in the makefiles (because then the makefiles can reason about them). e.g. fcc is no longer necessary.\r\n\r\nsdcc-rules.mk is unnecessarily complex, because SDCC. A gcc-based architecture (like my msp430) should be way simpler.\r\n\r\nThere's some documentation in README.build.mk.\r\n\r\nIs any of this of use to you? i.e. would you like me to keep working on this? (If so I would suggest *not* accepting the pull request as I don't know whether I've broken the old build system (because I never made it work). I'd appreciate guidance; I'm not good with git.)Hello,\r\n\r\nI was trying to beat my MSP430 port into shape the other day and got frustrated at the build system, so thought I'd try to overhaul it; I may have gotten a little carried away...\r\n\r\nThis is a WIP of a replacement build system. The only kernel I've done so far is the msx2, and I haven't been able to verify that it works yet, but all the rest builds. Features include:\r\n\r\n- builds everything; kernel, applications, libc, file system image, host tools\r\n- proper dependency tracking of everything, including headers\r\n- builds everything in a single pass (which means no recursive makefiles, and much faster incremental builds)\r\n- fully parallelisable\r\n- out-of-tree object files; different platforms' objects live in different subdirectories, so you can have multiple platforms built at the same time without their object files stepping on each other\r\n- modular; all the target-specific compiler settings are isolated in their own file --- which means all the SDCC horror is abstracted away. Adding a new toolchain should be really easy\r\n- preprocessable assembler files\r\n\r\nPlus, some of the logic that's been dealt with in helper scripts is now done in the makefiles (because then the makefiles can reason about them). e.g. fcc is no longer necessary.\r\n\r\nsdcc-rules.mk is unnecessarily complex, because SDCC. A gcc-based architecture (like my msp430) should be way simpler.\r\n\r\nThere's some documentation in README.build.mk.\r\n\r\nIs any of this of use to you? i.e. would you like me to keep working on this? (If so I would suggest *not* accepting the pull request as I don't know whether I've broken the old build system (because I never made it work). I'd appreciate guidance; I'm not good with git.)"},"comment":{"url":"https://api.github.com/repos/EtchedPixels/FUZIX/issues/comments/80206865","html_url":"https://github.com/EtchedPixels/FUZIX/pull/139#issuecomment-80206865","issue_url":"https://api.github.com/repos/EtchedPixels/FUZIX/issues/139","id":80206865,"user":{"login":"EtchedPixels","id":6851709,"avatar_url":"https://avatars.githubusercontent.com/u/6851709?v=3","gravatar_id":"","url":"https://api.github.com/users/EtchedPixels","html_url":"https://github.com/EtchedPixels","followers_url":"https://api.github.com/users/EtchedPixels/followers","following_url":"https://api.github.com/users/EtchedPixels/following{/other_user}","gists_url":"https://api.github.com/users/EtchedPixels/gists{/gist_id}","starred_url":"https://api.github.com/users/EtchedPixels/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EtchedPixels/subscriptions","organizations_url":"https://api.github.com/users/EtchedPixels/orgs","repos_url":"https://api.github.com/users/EtchedPixels/repos","events_url":"https://api.github.com/users/EtchedPixels/events{/privacy}","received_events_url":"https://api.github.com/users/EtchedPixels/received_events","type":"User","site_admin":false},"created_at":"2015-03-14T09:24:52Z","updated_at":"2015-03-14T09:24:52Z","body":"A build system would be a wonderful thing - the current setup is very much nailed together"}}