Commit graph

33 commits

Author SHA1 Message Date
Lephenixnoir
f83ea7e3d3
fxsdk: restore almost-original CG icon, but with the GIMP template 2023-03-12 22:07:30 +01:00
Lephenixnoir
4b980d949b
fxsdk: another failed attempt at a better CG icon 2023-03-12 20:55:48 +01:00
Lephenixnoir
d6ed47b133
fxsdk: add build-cg-push to default .gitignore 2023-01-19 21:35:22 +01:00
Lephenixnoir
c9e9f347e4
fxsdk: GIMP icon template and new default icon 2023-01-02 17:56:25 +01:00
Lephenixnoir
147ff08869
fxsdk: add sysroot, support for listdc++, README tutorial, LICENSE
This commit mainly introduces an almost-normal sysroot where the
compiler and libs will be installed. This is done in order to properly
build libstdc++-v3 from the GCC tree while also cleaning up the
slightly chaotic current install system.

* Add an `fxsdk --version` command
* Redo the README like a translation of the French topic
* Up default project to gint 2.9 to help get migrations right
* Add new `fxsdk path` command reporting important folders
* Add new CMake variables FXSDK_SYSROOT, FXSDK_INCLUDE, FXSDK_LIB so
  CMake can access the information of `fxsdk path`
* fxSDK is now in charge of removing the entire sysroot including the
  cross-compiler
* Add a LICENSE file
2022-08-19 14:38:19 +02:00
Lephenixnoir
1a7939bbb9
fxsdk: fix long-standing typo in default .gitignore 2022-07-16 18:18:57 +01:00
Lephenixnoir
2cc5d7ac5b
implement fxgxa and use it in both build systems 2022-03-20 19:58:11 +00:00
Lephenixnoir
55ed08abe5
cmake: lower minimum required version to 3.15
Version 3.15 introduces the <PREFIX>_KEYWORDS_MISSING_VALUES of the
cmake_parse_arguments() function, which is used in generate_g1a() and
generate_g3a(), so there is no way to bring it further down for free.
2021-05-10 15:25:47 +02:00
Lephenixnoir
74766f381b
fxsdk: enable missing options on new projects 2021-01-27 22:21:39 +01:00
Lephenixnoir
0902fdc904
cmake: provide a function to set up assets' language and dependencies 2021-01-27 20:32:34 +01:00
Lephenixnoir
70ff9ba6b8
fxsdk: define TARGET_FX9860G and TARGET_FXCG50 in Makefiles
The older FX9860G and FXCG50 are still supported for backwards
compatibility, but are deprecated.
2021-01-27 11:26:22 +01:00
Lephenixnoir
f5085e693d
fxsdk: add DSP assemblers flags 2021-01-26 10:09:03 +01:00
Lephenixnoir
ad5d9bdb4c
fxsdk: update Makefile-based build system for fxconv
* Use [find] for sources since it's used for dependency files...
* Get fxconv parameters from fxconv-metadata.txt
* Approximate dependencies: every asset depends on every metadata file
* Update location of example image
2021-01-26 09:47:16 +01:00
Lephenixnoir
e2ba617405
fxsdk: command-line interface for fxSDK 2.3
* Add the CMake build system
* Use CMake as the default for new projects
* Change [fxsdk new] but continue supporting the previous signature
* Automatically configure in [fxsdk build-fx] and [fxsdk build-cg]
* Improve help screen
2021-01-14 11:07:06 +01:00
Lephenixnoir
7a4e5cde3b
fxsdk: move default project.cfg out of fxsdk.sh 2021-01-11 21:49:14 +01:00
Lephenixnoir
fefff0637a
add __pycache__ and .vscode to the default .gitignore 2021-01-04 13:45:56 +01:00
Lephenixnoir
203572b2af
fxsdk: add a sensible .gitignore when creating projects 2020-12-30 20:58:37 +01:00
Lephenixnoir
f11c70aac4
fxsdk: change INCLUDE flags to support folders inside GCC
Useful for OpenLibm as it is installed inside an [openlibm] folder but
needs to be included directly as it uses #include without the openlibm/
part.
2020-10-24 18:54:16 +02:00
Lephenixnoir
ee9c459c69
fxconv: add custom conversions
Custom conversions can be used by:
* Providing a converters.py in the main directory with a convert()
  function
* Specifying --custom on the fxconv command-line or using a subfolder or
  assets-{fx,cg} unused by standard fxconv
2020-10-23 13:05:50 +02:00
Lephenixnoir
74b0bfaba1
fxsdk: don't use basename -s for busybox compatibility 2020-09-22 15:36:28 +02:00
Lephenixnoir
66e2f8429c
fxsdk: update starter's main.c for changes in dtext() 2020-07-14 12:20:49 +02:00
Lephenixnoir
c79b3b1a9d
fxconv: add suport for libimg images and deprecate --image
This commit introduces the libimg image format, selected with the option
type:libimg-image. To avoid confusion with the bopti image format,
options -i and --image are now deprecated and should be replaced with
--bopti-image or type:bopti-image. The fxSDK Makefile has been updated
accordingly.

To support the construction of a structure that contains a pointer in
fxconv, an assembly-code feature has been added. The structure itself is
assembled with as and then linked with the data proper. This allows the
structure to reference the data by name and have the pointer calculated
by ld at link time.
2020-03-11 19:37:27 +01:00
Lephenixnoir
15712b4f5b
fxsdk: add an option to choose add-in output path 2019-09-12 15:38:15 +02:00
Lephenixnoir
46b19bab62
fxsdk: new build system 2019-09-12 14:34:26 +02:00
Lephenixnoir
4f145cb202
fxsdk: add assembler compilation rules 2019-09-08 22:16:54 +02:00
Lephe
627fe14290
fxsdk: add update command and fix LD flag order 2019-09-03 23:23:24 +02:00
Lephe
e1ddf0f452 fxconv: code review and color image conversion
This change enhances the style of fxconv by using more classes and
generally more Pythonic constructions.

It also introduces image conversion for fx-CG 50, requiring the use
of --fx or --cg to specify the target machine with -i. The default
is set to --fx to maintain compatibility with older Makefiles.
2019-08-04 14:05:59 +02:00
Lephe
d022755c2a fxsdk: fix the source selection wildcard
Turns out make doesn't have /**/. Whatever.
2019-07-21 13:22:27 -04:00
Lephe
c11003eead fxsdk: detect source files recursively 2019-07-21 12:41:48 -04:00
Lephe
fae60c518c default project: fix stupidity (#2) 2019-07-05 08:54:29 -04:00
Lephe
67e80fc081 default project: use the short color names (#2) 2019-07-05 08:17:23 -04:00
Lephe
14bef439ab fxsdk fxconv: various improvements 2019-07-03 13:49:48 -04:00
Lephe
32239c3dfe fxsdk: basic script, project creation and build (#1) 2019-06-16 11:58:30 -04:00