From: darcagn <da...@us...> - 2024-05-16 04:10:52
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "A pseudo Operating System for the Dreamcast.". The branch, master has been updated via e17f49f99fc204220008a85f4b887ab301595f02 (commit) via 8d44c070d5d84d4d2bc67083393cb9742523a2b9 (commit) via 0604048c364bd8ac500fff800698eac91ab34d89 (commit) via 90206865bcfe14ab1939d6c42a4227da205d27dd (commit) from d5656890a901d02c470671669925d2ca76b353f3 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit e17f49f99fc204220008a85f4b887ab301595f02 Author: Andy Barajas <and...@gm...> Date: Wed May 15 21:10:04 2024 -0700 Make docs_open depends on docs. We rebuild everytime but it only takes a few secs and we always want to look at the latest right? (#578) commit 8d44c070d5d84d4d2bc67083393cb9742523a2b9 Author: Falco Girgis <gyr...@gm...> Date: Wed May 15 15:45:00 2024 -0500 Added Makefile Rules for Doxygen Documentation (#571) * Added Doxygen rules for documentation. - docs: generates documentation - docs_clean: removes autogenerated documentation files - docs_open: opens index.html from docs in the default browser * Update Makefile Co-authored-by: Andy Barajas <and...@gm...> * Update Makefile Co-authored-by: darcagn <da...@pr...> --------- Co-authored-by: Andy Barajas <and...@gm...> Co-authored-by: darcagn <da...@pr...> commit 0604048c364bd8ac500fff800698eac91ab34d89 Author: Falco Girgis <gyr...@gm...> Date: Wed May 15 15:21:56 2024 -0500 Fix mke2fs example with Raylib Installed (#562) In a cruel twist of fate, if you have Raylib installed into KOS-ports, the mke2fs example will no longer build... Why? Because the include for "utils.h" will pick up the one in kos-ports from Raylib before picking up the one in the ext2fs addon directory. - Swapped the order for the Makefile's extra include directory flag to ensure that it comes before kos-ports commit 90206865bcfe14ab1939d6c42a4227da205d27dd Author: darcagn <da...@pr...> Date: Wed May 15 14:11:55 2024 -0600 More dc-chain improvements (#574) * dc-chain: Move build libgccjit to GCC pass1 * dc-chain: Clean up D and Ada language selection * dc-chain: Improve make target behavior: clean is now distclean; clean-keep-archives is now clean * dc-chain: Add all .cfg to gitignore * dc-chain: Store default config in Makefile.default.cfg, copy to Makefile.cfg to adjust * dc-chain: Fix not passing pass1 languages configure ----------------------------------------------------------------------- Summary of changes: Makefile | 10 ++++++++ examples/dreamcast/sd/mke2fs/Makefile | 2 +- utils/dc-chain/.gitignore | 2 +- utils/dc-chain/Makefile | 10 ++++++-- .../{Makefile.cfg => Makefile.default.cfg} | 4 +-- utils/dc-chain/README.md | 20 ++++++++------- utils/dc-chain/doc/alpine.md | 15 ++++++----- utils/dc-chain/doc/bsd.md | 15 ++++++----- utils/dc-chain/doc/cygwin.md | 15 ++++++----- utils/dc-chain/doc/debian.md | 15 ++++++----- utils/dc-chain/doc/macos.md | 15 ++++++----- utils/dc-chain/doc/mingw/mingw-w64.md | 15 ++++++----- utils/dc-chain/doc/mingw/mingw.md | 15 ++++++----- utils/dc-chain/scripts/clean.mk | 4 +-- utils/dc-chain/scripts/gcc-pass1.mk | 4 +-- utils/dc-chain/scripts/gcc-pass2.mk | 26 ++++++++----------- utils/dc-chain/scripts/init.mk | 30 ++++++++++++---------- utils/dc-chain/scripts/phony.mk | 3 ++- 18 files changed, 121 insertions(+), 99 deletions(-) rename utils/dc-chain/{Makefile.cfg => Makefile.default.cfg} (98%) diff --git a/Makefile b/Makefile index 5deedffa..584de843 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,7 @@ # # Root Makefile # Copyright (C) 2003 Megan Potter +# Copyright (C) 2024 Falco Girgis # # Make sure things compile nice and cleanly. We don't necessarily want to push @@ -33,6 +34,15 @@ distclean: clean -rm -f lib/$(KOS_ARCH)/* -rm -f addons/lib/$(KOS_ARCH)/* +docs: + doxygen $(KOS_BASE)/doc/Doxyfile + +docs_clean: + -rm -rf $(KOS_BASE)/doc/reference + +docs_open: docs + open $(KOS_BASE)/doc/reference/html/index.html + kos-ports_all: $(KOS_PORTS)/utils/build-all.sh diff --git a/examples/dreamcast/sd/mke2fs/Makefile b/examples/dreamcast/sd/mke2fs/Makefile index afec1ada..d34b2773 100644 --- a/examples/dreamcast/sd/mke2fs/Makefile +++ b/examples/dreamcast/sd/mke2fs/Makefile @@ -8,7 +8,7 @@ OBJS = mke2fs.o # We need the private headers from libkosext2fs, since we're not using the # facilities of fs_ext2 here. -KOS_CFLAGS += -I$(KOS_BASE)/addons/libkosext2fs -Werror -W -std=gnu99 +KOS_CFLAGS := -I$(KOS_BASE)/addons/libkosext2fs -Werror -W -std=gnu99 $(KOS_CFLAGS) all: rm-elf $(TARGET) diff --git a/utils/dc-chain/.gitignore b/utils/dc-chain/.gitignore index 9861c537..5d007085 100644 --- a/utils/dc-chain/.gitignore +++ b/utils/dc-chain/.gitignore @@ -7,4 +7,4 @@ gdb-* build-* *.stamp config.guess -Makefile.cfg +*.cfg diff --git a/utils/dc-chain/Makefile b/utils/dc-chain/Makefile index 98facf16..81f68dec 100644 --- a/utils/dc-chain/Makefile +++ b/utils/dc-chain/Makefile @@ -11,9 +11,15 @@ include scripts/banner.mk # User configuration config_file=Makefile.cfg ifneq ("$(wildcard $(config_file))","") + $(info +++ Using configuration from $(config_file)) include $(config_file) else - $(error The required $(config_file) file is missing) + ifneq ("$(wildcard Makefile.default.cfg)","") + $(info +++ Using configuration from Makefile.default.cfg) + include Makefile.default.cfg + else + $(error No configuration file found at $(config_file) or Makefile.default.cfg) + endif endif # Toolchain profiles @@ -21,7 +27,7 @@ include scripts/profile-defaults.mk ifneq ("$(wildcard profiles/profile.$(toolchain_profile).mk)","") include profiles/profile.$(toolchain_profile).mk else - $(error No configuration found at profiles/profile.$(toolchain_profile).mk) + $(error No toolchain profile file found at profiles/profile.$(toolchain_profile).mk) endif # Download functions diff --git a/utils/dc-chain/Makefile.cfg b/utils/dc-chain/Makefile.default.cfg similarity index 98% rename from utils/dc-chain/Makefile.cfg rename to utils/dc-chain/Makefile.default.cfg index e9f99c4e..e78e3a31 100644 --- a/utils/dc-chain/Makefile.cfg +++ b/utils/dc-chain/Makefile.default.cfg @@ -128,9 +128,7 @@ enable_objcpp=1 ### Enable libgccjit # Enables the libgccjit embeddable GCC library. This is most commonly enabled to # allow using this toolchain as a backend for the official rustc compiler. Use -# with the rustc-dev toolchain profile if this is your use case. Enabling this -# option will force the toolchain host code to build as position-independent, -# which will result in slightly slower compilation times for this toolchain. +# with the rustc-dev toolchain profile if this is your use case. #enable_libgccjit=1 ################### diff --git a/utils/dc-chain/README.md b/utils/dc-chain/README.md index bae59505..990d203a 100644 --- a/utils/dc-chain/README.md +++ b/utils/dc-chain/README.md @@ -82,12 +82,14 @@ instructions mentioned above for installing dependencies on your system. ## Configuration -Before running `dc-chain`, you may wish to set up the -[`Makefile.cfg`](Makefile.cfg) file containing selections for the toolchain -profile and additional configurable options for building the toolchain(s). The -normal, stable defaults have already been set up for you, so most users can -skip this step. If you'd like to make changes, open and read the options in -[`Makefile.cfg`](Makefile.cfg) in your text editor. +Before running `dc-chain`, you may wish to set up the `Makefile.cfg` file +containing selections for the toolchain profile and additional configurable +options for building the toolchain(s). The normal, stable defaults have already +been set up for you in [`Makefile.default.cfg`](Makefile.default.cfg), so most +users can skip this step. If you'd like to make changes, copy +[`Makefile.default.cfg`](Makefile.default.cfg) to `Makefile.cfg`; then open and +read the options in [`Makefile.cfg`](Makefile.cfg) in your text editor. When +building, the customizations in `Makefile.cfg` will override the defaults. ### Toolchain profiles @@ -129,8 +131,8 @@ on your platform. ## Building the toolchain -With prerequisites installed and a [`Makefile.cfg`](Makefile.cfg) set up with -desired options, the toolchains are ready to be built. +With prerequisites installed (and optionally a [`Makefile.cfg`](Makefile.cfg) +set up with desired custom options), the toolchains are ready to be built. In the `dc-chain` directory, you may run (for **BSD**, please use `gmake` instead): @@ -152,7 +154,7 @@ If anything goes wrong, check the output in `logs/`. After the toolchain compilation, you may save space by cleaning up downloaded and temporary generated files by entering: ``` -make clean +make distclean ``` ## Finished diff --git a/utils/dc-chain/doc/alpine.md b/utils/dc-chain/doc/alpine.md index cb818e07..4a9c8a19 100644 --- a/utils/dc-chain/doc/alpine.md +++ b/utils/dc-chain/doc/alpine.md @@ -39,11 +39,12 @@ git clone git://git.code.sf.net/p/cadcdev/kos-ports ## Compilation ## -The **dc-chain** system may be customized by altering the -[`Makefile.cfg`](../Makefile.cfg) file in the root of the `dc-chain` directory -tree. If this is desired, read the main [README.md](../README.md) for more -information on setting up custom options for the toolchain; however, in most -circumstances, the stable defaults already set up will be fine. +The **dc-chain** system may be customized by setting up a +[`Makefile.cfg`] file in the root of the `dc-chain` directory tree. If this is +desired, read the main [README.md](../README.md) for more information on +setting up custom options for the toolchain; however, in most circumstances, +the stable defaults already present in +[`Makefile.default.cfg`](../Makefile.default.cfg) will be fine. ### Building the toolchain ### @@ -54,7 +55,7 @@ To build the toolchain, do the following: cd /opt/toolchains/dc/kos/utils/dc-chain/ ``` -2. Alter the `Makefile.cfg` file options to your liking. +2. (Optional) Copy and alter the `Makefile.cfg` file options to your liking. 3. Enter the following to start downloading and building toolchain: ``` @@ -68,7 +69,7 @@ hours will be needed to build the full toolchain, depending on your system. After everything is done, you can cleanup all temporary files by entering: ``` -make clean +make distclean ``` ## Next steps ## diff --git a/utils/dc-chain/doc/bsd.md b/utils/dc-chain/doc/bsd.md index fca21268..f67ecfa5 100644 --- a/utils/dc-chain/doc/bsd.md +++ b/utils/dc-chain/doc/bsd.md @@ -53,11 +53,12 @@ git clone git://git.code.sf.net/p/cadcdev/kos-ports ## Compilation ## -The **dc-chain** system may be customized by altering the -[`Makefile.cfg`](../Makefile.cfg) file in the root of the `dc-chain` directory -tree. If this is desired, read the main [README.md](../README.md) for more -information on setting up custom options for the toolchain; however, in most -circumstances, the stable defaults already set up will be fine. +The **dc-chain** system may be customized by setting up a +[`Makefile.cfg`] file in the root of the `dc-chain` directory tree. If this is +desired, read the main [README.md](../README.md) for more information on +setting up custom options for the toolchain; however, in most circumstances, +the stable defaults already present in +[`Makefile.default.cfg`](../Makefile.default.cfg) will be fine. ### Building the toolchain ### @@ -71,7 +72,7 @@ To build the toolchain, do the following: ``` cd /opt/toolchains/dc/kos/utils/dc-chain/ ``` -3. Alter the `Makefile.cfg` file options to your liking. +3. (Optional) Copy and alter the `Makefile.cfg` file options to your liking. 4. Enter the following to start downloading and building toolchain: ``` @@ -85,7 +86,7 @@ hours will be needed to build the full toolchain, depending on your system. After everything is done, you can cleanup all temporary files by entering: ``` -gmake clean +gmake distclean ``` ## Next steps ## diff --git a/utils/dc-chain/doc/cygwin.md b/utils/dc-chain/doc/cygwin.md index 9a4299b8..d6311a0c 100644 --- a/utils/dc-chain/doc/cygwin.md +++ b/utils/dc-chain/doc/cygwin.md @@ -92,11 +92,12 @@ Everything is ready, now it's time to make the toolchains. ## Compilation ## -The **dc-chain** system may be customized by altering the -[`Makefile.cfg`](../Makefile.cfg) file in the root of the `dc-chain` directory -tree. If this is desired, read the main [README.md](../README.md) for more -information on setting up custom options for the toolchain; however, in most -circumstances, the stable defaults already set up will be fine. +The **dc-chain** system may be customized by setting up a +[`Makefile.cfg`] file in the root of the `dc-chain` directory tree. If this is +desired, read the main [README.md](../README.md) for more information on +setting up custom options for the toolchain; however, in most circumstances, +the stable defaults already present in +[`Makefile.default.cfg`](../Makefile.default.cfg) will be fine. ### Building the toolchain ### @@ -109,7 +110,7 @@ To build the toolchain, do the following: cd /opt/toolchains/dc/kos/utils/dc-chain/ ``` -3. Alter the `Makefile.cfg` file options to your liking. +3. (Optional) Copy and alter the `Makefile.cfg` file options to your liking. 4. Enter the following to start downloading and building toolchain: ``` @@ -123,7 +124,7 @@ hours will be needed to build the full toolchain, depending on your system. After everything is done, you can cleanup all temporary files by entering: ``` -make clean +make distclean ``` ## Next steps ## diff --git a/utils/dc-chain/doc/debian.md b/utils/dc-chain/doc/debian.md index 615dd0e2..db68adc3 100644 --- a/utils/dc-chain/doc/debian.md +++ b/utils/dc-chain/doc/debian.md @@ -49,11 +49,12 @@ git clone git://git.code.sf.net/p/cadcdev/kos-ports ## Compilation ## -The **dc-chain** system may be customized by altering the -[`Makefile.cfg`](../Makefile.cfg) file in the root of the `dc-chain` directory -tree. If this is desired, read the main [README.md](../README.md) for more -information on setting up custom options for the toolchain; however, in most -circumstances, the stable defaults already set up will be fine. +The **dc-chain** system may be customized by setting up a +[`Makefile.cfg`] file in the root of the `dc-chain` directory tree. If this is +desired, read the main [README.md](../README.md) for more information on +setting up custom options for the toolchain; however, in most circumstances, +the stable defaults already present in +[`Makefile.default.cfg`](../Makefile.default.cfg) will be fine. ### Building the toolchain ### @@ -64,7 +65,7 @@ To build the toolchain, do the following: cd /opt/toolchains/dc/kos/utils/dc-chain/ ``` -2. Alter the `Makefile.cfg` file options to your liking. +2. (Optional) Copy and alter the `Makefile.cfg` file options to your liking. 3. Enter the following to start downloading and building toolchain: ``` @@ -78,7 +79,7 @@ hours will be needed to build the full toolchain, depending on your system. After everything is done, you can cleanup all temporary files by entering: ``` -make clean +make distclean ``` ## Next steps ## diff --git a/utils/dc-chain/doc/macos.md b/utils/dc-chain/doc/macos.md index d3b6d92f..ed33c68b 100644 --- a/utils/dc-chain/doc/macos.md +++ b/utils/dc-chain/doc/macos.md @@ -85,11 +85,12 @@ git clone git://git.code.sf.net/p/cadcdev/kos-ports ## Compilation ## -The **dc-chain** system may be customized by altering the -[`Makefile.cfg`](../Makefile.cfg) file in the root of the `dc-chain` directory -tree. If this is desired, read the main [README.md](../README.md) for more -information on setting up custom options for the toolchain; however, in most -circumstances, the stable defaults already set up will be fine. +The **dc-chain** system may be customized by setting up a +[`Makefile.cfg`] file in the root of the `dc-chain` directory tree. If this is +desired, read the main [README.md](../README.md) for more information on +setting up custom options for the toolchain; however, in most circumstances, +the stable defaults already present in +[`Makefile.default.cfg`](../Makefile.default.cfg) will be fine. ### Building the toolchain ### @@ -100,7 +101,7 @@ To build the toolchain, do the following: cd /opt/toolchains/dc/kos/utils/dc-chain/ ``` -2. Alter the `Makefile.cfg` file options to your liking. +2. (Optional) Copy and alter the `Makefile.cfg` file options to your liking. 3. Enter the following to start downloading and building toolchain: ``` @@ -114,7 +115,7 @@ hours will be needed to build the full toolchain, depending on your system. After everything is done, you can cleanup all temporary files by entering: ``` -make clean +make distclean ``` ## Next steps ## diff --git a/utils/dc-chain/doc/mingw/mingw-w64.md b/utils/dc-chain/doc/mingw/mingw-w64.md index 58cffa5c..1c9886ee 100644 --- a/utils/dc-chain/doc/mingw/mingw-w64.md +++ b/utils/dc-chain/doc/mingw/mingw-w64.md @@ -102,11 +102,12 @@ Everything is ready, now it's time to make the toolchains. ## Compilation ## -The **dc-chain** system may be customized by altering the -[`Makefile.cfg`](../Makefile.cfg) file in the root of the `dc-chain` directory -tree. If this is desired, read the main [README.md](../../README.md) for more -information on setting up custom options for the toolchain; however, in most -circumstances, the stable defaults already set up will be fine. +The **dc-chain** system may be customized by setting up a +[`Makefile.cfg`] file in the root of the `dc-chain` directory tree. If this is +desired, read the main [README.md](../../README.md) for more information on +setting up custom options for the toolchain; however, in most circumstances, +the stable defaults already present in +[`Makefile.default.cfg`](../../Makefile.default.cfg) will be fine. ### Building the toolchains ### @@ -119,7 +120,7 @@ To build the toolchain, do the following: cd /opt/toolchains/dc/kos/utils/dc-chain/ ``` -3. Alter the `Makefile.cfg` file options to your liking. +3. (Optional) Copy and alter the `Makefile.cfg` file options to your liking. 4. Enter the following to start downloading and building toolchain: ``` @@ -133,7 +134,7 @@ hours will be needed to build the full toolchain, depending on your system. After everything is done, you can cleanup all temporary files by entering: ``` -make clean +make distclean ``` ## Fixing up Newlib for SH4 ## diff --git a/utils/dc-chain/doc/mingw/mingw.md b/utils/dc-chain/doc/mingw/mingw.md index ae671562..97f25d82 100644 --- a/utils/dc-chain/doc/mingw/mingw.md +++ b/utils/dc-chain/doc/mingw/mingw.md @@ -166,11 +166,12 @@ Basically, if you just plan to use the **MinGW/MSYS** environment through the ## Compilation ## -The **dc-chain** system may be customized by altering the -[`Makefile.cfg`](../Makefile.cfg) file in the root of the `dc-chain` directory -tree. If this is desired, read the main [README.md](../../README.md) for more -information on setting up custom options for the toolchain; however, in most -circumstances, the stable defaults already set up will be fine. +The **dc-chain** system may be customized by setting up a +[`Makefile.cfg`] file in the root of the `dc-chain` directory tree. If this is +desired, read the main [README.md](../../README.md) for more information on +setting up custom options for the toolchain; however, in most circumstances, +the stable defaults already present in +[`Makefile.default.cfg`](../../Makefile.default.cfg) will be fine. ### Building the toolchain ### @@ -183,7 +184,7 @@ To build the toolchain, do the following: cd /opt/toolchains/dc/kos/utils/dc-chain/ ``` -3. Alter the `Makefile.cfg` file options to your liking. +3. (Optional) Copy and alter the `Makefile.cfg` file options to your liking. 4. Enter the following to start downloading and building toolchain: ``` @@ -197,7 +198,7 @@ hours will be needed to build the full toolchain, depending on your system. After everything is done, you can cleanup all temporary files by entering: ``` -make clean +make distclean ``` ## Removing the MSYS heap patch ## diff --git a/utils/dc-chain/scripts/clean.mk b/utils/dc-chain/scripts/clean.mk index bd811063..8550e44d 100644 --- a/utils/dc-chain/scripts/clean.mk +++ b/utils/dc-chain/scripts/clean.mk @@ -1,9 +1,9 @@ # Sega Dreamcast Toolchains Maker (dc-chain) # This file is part of KallistiOS. -clean: clean-archives clean-downloads clean-builds clean_patches_stamp +clean: clean-downloads clean-builds clean_patches_stamp -clean-keep-archives: clean-downloads clean-builds clean_patches_stamp +distclean: clean-archives clean-downloads clean-builds clean_patches_stamp clean_patches_stamp: -@tmpdir=.tmp; \ diff --git a/utils/dc-chain/scripts/gcc-pass1.mk b/utils/dc-chain/scripts/gcc-pass1.mk index ebba6436..5958a858 100644 --- a/utils/dc-chain/scripts/gcc-pass1.mk +++ b/utils/dc-chain/scripts/gcc-pass1.mk @@ -17,11 +17,11 @@ $(build_gcc_pass1): logdir --with-gnu-ld \ --without-headers \ --with-newlib \ - --enable-languages=c \ + --enable-languages=$(pass1_languages) \ --disable-libssp \ --enable-checking=release \ $(cpu_configure_args) \ - $(gcc_extra_configure_args) \ + $(gcc_pass1_configure_args) \ $(macos_gcc_configure_args) \ MAKEINFO=missing \ CC="$(CC)" \ diff --git a/utils/dc-chain/scripts/gcc-pass2.mk b/utils/dc-chain/scripts/gcc-pass2.mk index 10220c26..73344793 100644 --- a/utils/dc-chain/scripts/gcc-pass2.mk +++ b/utils/dc-chain/scripts/gcc-pass2.mk @@ -1,12 +1,6 @@ # Sega Dreamcast Toolchains Maker (dc-chain) # This file is part of KallistiOS. -disable_libada="" - -ifneq (,$(findstring ada,$(enabled_languages))) - disable_libada=--disable-libada -endif - $(build_gcc_pass2): build = build-gcc-$(target)-$(gcc_ver)-pass2 $(build_gcc_pass2): logdir @echo "+++ Building $(src_dir) to $(build) (pass 2)..." @@ -20,22 +14,22 @@ $(build_gcc_pass2): logdir --with-gnu-ld \ --with-newlib \ --disable-libssp \ - --disable-libphobos \ - $(disable_libada) \ --enable-threads=$(thread_model) \ - --enable-languages=$(enabled_languages) \ + --enable-languages=$(pass2_languages) \ --enable-checking=release \ $(cpu_configure_args) \ - $(gcc_extra_configure_args) \ + $(gcc_pass2_configure_args) \ $(macos_gcc_configure_args) \ MAKEINFO=missing \ CC="$(CC)" \ ...<truncated>... hooks/post-receive -- A pseudo Operating System for the Dreamcast. |