Skip to content

Commit fe35eea

Browse files
committed
Merge branch 'main' into dw3dos_fix
2 parents 738da2a + a5de604 commit fe35eea

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+1185
-523
lines changed

.github/workflows/build.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- '*'
8+
pull_request:
9+
branches:
10+
- main
11+
- '*'
12+
13+
env:
14+
# Path to the solution file relative to the root of the project.
15+
SOLUTION_FILE_PATH: .
16+
17+
permissions:
18+
contents: read
19+
20+
defaults:
21+
run:
22+
shell: bash {0}
23+
24+
jobs:
25+
build:
26+
runs-on: ubuntu-latest
27+
28+
steps:
29+
- name: Setup Requirements
30+
run: |
31+
sudo apt-get install mingw-w64 markdown libfuse-dev
32+
33+
- name: Checkout
34+
uses: actions/checkout@v4
35+
36+
- name: Build Linux
37+
run: |
38+
sudo make -C build/unix unixpackage
39+
40+
- name: Build Windows
41+
run: |
42+
sudo make -C build/unix winpackage
43+
44+
- name: Results
45+
run: |
46+
[ -f build/unix/toolshed-*.tgz ] && ls build/unix/toolshed-*.tgz | xargs -I {} bash -c 'echo; md5sum {}; ls -al --color=auto {}; tar tzvf {}'
47+
[ -f build/unix/toolshed-*.zip ] && ls build/unix/toolshed-*.zip | xargs -I {} bash -c 'echo; md5sum {}; ls -al --color=auto {}; unzip -l -v {}'
48+

.github/workflows/release.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Make Release
2+
on:
3+
workflow_dispatch:
4+
5+
env:
6+
# Path to the solution file relative to the root of the project.
7+
SOLUTION_FILE_PATH: .
8+
9+
permissions:
10+
contents: write
11+
12+
defaults:
13+
run:
14+
shell: bash {0}
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- name: Setup Requirements
22+
run: |
23+
sudo apt-get install mingw-w64 markdown libfuse-dev
24+
25+
- name: Checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Build Linux
29+
run: |
30+
sudo make -C build/unix unixpackage
31+
32+
- name: Build Windows
33+
run: |
34+
sudo make -C build/unix winpackage
35+
36+
- name: Results
37+
run: |
38+
[ -f build/unix/toolshed-*.tgz ] && ls build/unix/toolshed-*.tgz | xargs -I {} bash -c 'echo; md5sum {}; ls -al --color=auto {}; tar tzvf {}'
39+
[ -f build/unix/toolshed-*.zip ] && ls build/unix/toolshed-*.zip | xargs -I {} bash -c 'echo; md5sum {}; ls -al --color=auto {}; unzip -l -v {}'
40+
41+
- name: Release
42+
uses: softprops/action-gh-release@v2
43+
env:
44+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45+
with:
46+
files: |
47+
build/unix/toolshed-*.tgz
48+
build/unix/toolshed-*.zip
49+

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
*.cas
44
*.c10
55
*.wav
6+
filldisk.dsk
67

78
# Prerequisites
89
*.d

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ The repository contains:
1212

1313
**NOTE:** while the venerable 6809 cross-assembler, mamou, is part of the repository, it is only kept for historical value. Everyone should really be using William Astle's excellent LWTOOLS which contains the *lwasm* 6809 assembler and *lwlink* linker. [Download the latest version of the source here.](http://lwtools.projects.l-w.ca)
1414

15+
Find the documentation for some of the command in Toolshed's [Wiki](https://github.com/nitros9project/toolshed/wiki)
1516
## Building on Windows
1617

1718
The recommended build environment is [MingW32 or MingW64](http://mingw.org/), [MSYS2](http://msys2.github.io/), or the [WSL subsystem for Windows 10+](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux).
@@ -49,7 +50,7 @@ The best way to do this is to first [visit the Homebrew page](https://brew.sh) a
4950
Once that's done, you can use the brew command to install macfuse (`osxfuse` has been succeeded by `macfuse` as of version 4.0.0.):
5051

5152
```
52-
brew install macuse
53+
brew install macfuse
5354
```
5455

5556
If you have previously install osxfuse, you can use brew command to uninstall `oxsfuse` and install `macfuse`

build/unix/Makefile

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,62 @@ include rules.mak
44

55
vpath %.c ../../mamou:../../os9
66

7-
PACKAGENAME = toolshed-$(VERSION).tgz
7+
PACKAGENAME_UNIX = toolshed-unix64-$(VERSION).tgz
8+
PACKAGENAME_WIN = toolshed-win64-$(VERSION).zip
9+
810
ifneq ($(DESTDIR),)
911
INSTALLDIR = $(DESTDIR)/usr/bin
1012
DOCDIR = $(DESTDIR)/usr/share/doc/toolshed
1113
else
1214
INSTALLDIR = /usr/local/bin
1315
DOCDIR = /usr/local/share/toolshed
1416
endif
17+
APPS = ar2 os9 mamou cecb decb tocgen makewav dis68 lst2cmt
18+
1519
DIRS = libtoolshed libnative libcecb librbf libcoco libdecb libmisc libsys \
16-
decb cecb os9 makewav tocgen cocofuse \
20+
decb cecb os9 makewav tocgen lst2cmt \
1721
dis68 mamou ar2 \
18-
doc unittest
22+
doc
23+
24+
ifneq ($(WIN),)
25+
PACKAGENAME = $(PACKAGENAME_WIN)
26+
MAKEPACKAGE = zip -9
27+
else
28+
PACKAGENAME = $(PACKAGENAME_UNIX)
29+
MAKEPACKAGE = tar czvf
30+
DIRS := $(DIRS) cocofuse unittest
31+
APPS := $(APPS) cocofuse
32+
endif
33+
34+
APPS := $(foreach item,$(APPS),$(item)/$(item)$(SUFEXE))
1935

2036
all:
2137
$(foreach dir, $(DIRS), (cd $(dir); $(MAKE));)
2238

2339
install: all
2440
$(INSTALL) -d $(INSTALLDIR) $(DOCDIR)
25-
$(INSTALL) ar2/ar2 os9/os9 mamou/mamou cecb/cecb decb/decb \
26-
tocgen/tocgen makewav/makewav dis68/dis68 $(INSTALLDIR)
27-
-$(INSTALL) cocofuse/cocofuse $(INSTALLDIR)
41+
$(INSTALL) $(APPS) $(INSTALLDIR)
2842
$(INSTALL) -m 0644 doc/ToolShed.html $(DOCDIR)
2943

3044
package: INSTALLDIR=toolshed-$(VERSION)
3145
package: DOCDIR = $(INSTALLDIR)
3246
package: install
33-
tar czvf $(PACKAGENAME) toolshed-$(VERSION)
47+
$(MAKEPACKAGE) $(PACKAGENAME) toolshed-$(VERSION)/*
3448
rm -rf toolshed-$(VERSION)
3549

36-
clean:
50+
cleandirs:
3751
$(foreach dir, $(DIRS), (cd $(dir); $(MAKE) clean);)
38-
$(RM) $(PACKAGENAME)
52+
53+
clean: cleandirs
54+
$(RM) $(PACKAGENAME_WIN) $(PACKAGENAME_UNIX)
55+
56+
unixpackage:
57+
$(MAKE) -f ./Makefile package
58+
59+
winpackage:
60+
$(MAKE) -f ./Makefile cleandirs
61+
$(MAKE) -f ./Makefile CC=x86_64-w64-mingw32-gcc WIN=1 package
62+
63+
allpackages: clean unixpackage winpackage
64+
65+

build/unix/ar2/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ CFLAGS += -DSYSV
88
BINARY = ar2
99
OBJS = ar.o arsup.o lz1.o o2u.o
1010

11-
$(BINARY): $(OBJS)
11+
$(BINARY)$(SUFEXE): $(OBJS)
1212
$(CC) $(OBJS) -o $@ $(DEBUG)
1313

1414
$(OBJS):

build/unix/cecb/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ vpath %.c ../../../cecb ../../../os9
66
CFLAGS += -I../../../include -Wall
77
LDFLAGS += -L../libtoolshed -L../libcoco -L../libcecb -L../libnative -L../librbf -L../libdecb -L../libmisc -L../libsys -ltoolshed -lcoco -ldecb -lcecb -lnative -lrbf -lmisc -lsys -lm
88

9-
cecb: cecbbulkerase.o cecbdir.o cecbfstat.o cecb_main.o cecbcopy.o ../os9/os9dump.o ../decb/decblist.o
9+
cecb$(SUFEXE): cecbbulkerase.o cecbdir.o cecbfstat.o cecb_main.o cecbcopy.o ../os9/os9dump.o ../decb/decblist.o
1010
$(CC) -o $@ $^ $(LDFLAGS)
1111

1212
clean:

build/unix/decb/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ vpath %.c ../../../decb ../../../os9
66
CFLAGS += -I../../../include -Wall
77
LDFLAGS += -L../libtoolshed -L../libcoco -L../libnative -L../libcecb -L../librbf -L../libdecb -L../libmisc -L../libsys -ltoolshed -lcoco -lnative -lcecb -lrbf -ldecb -lmisc -lsys -lm
88

9-
decb: decb_main.o decbattr.o decbcopy.o decbdir.o decbdskini.o decbfree.o decbfstat.o \
9+
decb$(SUFEXE): decb_main.o decbattr.o decbcopy.o decbdir.o decbdskini.o decbfree.o decbfstat.o \
1010
decbhdbconv.o decbkill.o decblist.o decbrename.o os9dump.o decbdsave.o os9dsave.o
1111
$(CC) -o $@ $^ $(LDFLAGS)
1212

build/unix/dis68/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ include ../rules.mak
33

44
vpath %.c ../../../dis68
55

6-
dis68: dis68.o disasm.o addmod.o symtbl.o
6+
dis68$(SUFEXE): dis68.o disasm.o addmod.o symtbl.o
7+
$(CC) -o $@ $^ $(LDFLAGS)
78

89
clean:
910
$(RM) *.o dis68 dis68.exe

build/unix/libcecb/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ include ../rules.mak
33

44
vpath %.c ../../../libcecb
55

6-
CFLAGS += -I../../../include -Wall -Wno-error=stringop-truncation
6+
CFLAGS += -I../../../include -Wall
77

88
%.a:
99
$(AR) -r $@ $^
1010
$(RANLIB) $@
1111

1212
libcecb.a: libcecbbulkerase.o libcebcopen.o libcecbgs.o libcecbwav.o \
13-
libcecbcas.o libcecbread.o libcecbwrite.o libcecbtokenize.o
13+
libcecbcas.o libcecbread.o libcecbwrite.o libcecbtokenize.o \
14+
libcecbseek.o
1415

1516
clean:
1617
$(RM) *.o *.a

0 commit comments

Comments
 (0)