Routines for using the FujiNet Adapter sub-device.
The top level folder contains the .h API, one subfolder for each platform.
Each fujinet device is then a subdirectory of the src directory, e.g. clock, fuji, network.
If required, specify TARGETS list.
$ make clean
$ make release
$ make TARGETS=atari release
$ make TARGETS="c64 atari" releaseUpdate the changelog in the CHANGELOG.md file.
Put notes in and create a dated section for the new version.
Once this is done, you can then cause a release to be built by tagging the release, as described below.
Release artifact names are derived from the git tag when the build runs on a clean
checkout at that tag (for example tag v4.9.0 produces version 4.9.0 in zip and
library filenames). Builds from other commits use the short git hash instead.
The new release can be done with the gitlab automated workflow. To trigger it, tag the release with a version and push the tag to the remote.
Note, for the following to work, you must have a git remote named "upstream" pointing to the gitlab repository, and have permissions to push tags.
git tag vX.Y.Z
git push upstream vX.Y.ZThis is advanced usage if you're producing local versions of fujinet-lib library and require specific version names.
The release build will use either the latest tag name (if this is also the current commit)
or the short commit hash string if locally there is a commit without the latest tag on it
(adding "-dirty" if you have uncommit changes).
❯ make TARGETS="c64 msdos" release
# ...
❯ ll dist
Permissions Size User Date Modified Name
.rw-r--r-- 59k markf 11 Jun 16:29 fujinet-lib-c64-45c687eb-dirty.zip
.rw-r--r-- 29k markf 11 Jun 16:29 fujinet-lib-msdos-45c687eb-dirty.zipTo build with a specific version string in the files instead of the hash, specify the VERSION_STRING env directly using just the number without 'v' (along with any other env values, like the TARGETS if you wish to only build limited set):
❯ make VERSION_STRING=4.11.3 TARGETS="c64 msdos" release
# ...
❯ ll dist
Permissions Size User Date Modified Name
.rw-r--r-- 59k markf 11 Jun 16:28 fujinet-lib-c64-4.11.3.zip
.rw-r--r-- 29k markf 11 Jun 16:28 fujinet-lib-msdos-4.11.3.zipEdit the application.mk and add any options you need to build a release with additional flags.
The hd function (for hex dumping) is guarded by the FN_LIB_DEBUG define.
# CFLAGS += -DFN_LIB_DEBUGThis is not enabled by default, so release libraries will not contain the hd function. If you are doing local testing, this is the place to add custom CFLAGS or ASMFLAGS for the built library to pickup.
Testing is WIP. See Testing README