diff --git a/build/.gitignore b/build/.gitignore
deleted file mode 100644
index ec47a658e..000000000
--- a/build/.gitignore
+++ /dev/null
@@ -1,16 +0,0 @@
-work
-javadoc
-
-macosx/javafx-sdk-*
-macosx/jdk-11.*
-macosx/jdk-17*
-macosx/jfx-11.*
-macosx/jfx-16.*
-windows/javafx-sdk-*
-windows/jdk-11.*
-windows/jfx-11.*
-windows/jfx-16.*
-linux/javafx-sdk-*
-linux/jdk-11.*
-linux/jfx-11.*
-linux/jfx-16.*
diff --git a/build/build.xml b/build/build.xml
index 628e9861a..b4ace3335 100644
--- a/build/build.xml
+++ b/build/build.xml
@@ -9,8 +9,8 @@
-
-
+
+
@@ -77,7 +77,7 @@
-
+
@@ -96,7 +96,7 @@
-
@@ -126,7 +126,7 @@
-
+
@@ -151,8 +151,8 @@
-
-
+
+
+ value="macos/work/Processing.app/Contents/Java">
@@ -174,7 +174,7 @@
-
+
@@ -189,9 +189,9 @@
-
-
-
+
+
+
@@ -417,14 +417,14 @@
-
-
+
+
-
+
-
+
@@ -441,12 +441,12 @@
-
-
+
+
-
+
+ classpath="macos/appbundler.jar" />
-
-
+
@@ -512,19 +512,19 @@
so double-clicking files no longer works. -->
@@ -569,13 +569,13 @@
to use those, but making it possible since some Tools rely on JavaFX. -->
@@ -590,7 +590,7 @@
-
+
-
+
-
+
-
+
-
+
+ location="macos/work/Processing.app/Contents" />
@@ -644,17 +644,17 @@
-
+
-
+
-
-
@@ -670,11 +670,11 @@
-
+
-
@@ -686,21 +686,21 @@
property="terminal.path"
value="/Applications/Utilities/Terminal.app" />
-
+
-
-
+
-
+
Code signing will only work if you have a $99/yr Apple developer ID.
@@ -712,7 +712,7 @@
instead of "Developer ID Application" when just doing Gatekeeper. -->
-
+
@@ -727,19 +727,19 @@
-
+
-
+
-
+
-
+
-
+
@@ -756,7 +756,7 @@
-
+
@@ -783,7 +783,7 @@
-
+
@@ -806,7 +806,7 @@
-
+
-
+
@@ -840,7 +840,7 @@
-
+
@@ -850,23 +850,23 @@
-
-
+
-
-
+
+
-
+
=======================================================
Processing for macOS was built. Grab it from
- macosx/processing-${version}-macosx.zip
+ macos/processing-${version}-macos.zip
=======================================================
@@ -1352,7 +1352,7 @@
-
+
@@ -1534,7 +1534,7 @@
+ depends="linux-clean, windows-clean, macos-clean, subprojects-clean">
diff --git a/build/linux/.gitignore b/build/linux/.gitignore
index 40e306260..ebfe1ed11 100644
--- a/build/linux/.gitignore
+++ b/build/linux/.gitignore
@@ -1,3 +1,3 @@
-jdk-*.tgz
+jdk-17*.tgz
/processing-*-*.deb
/processing-*-*.tgz
diff --git a/build/macos/.gitignore b/build/macos/.gitignore
new file mode 100644
index 000000000..11bcf0687
--- /dev/null
+++ b/build/macos/.gitignore
@@ -0,0 +1,3 @@
+jdk-17*
+processing-*.dmg
+work
diff --git a/build/macosx/appbundler.jar b/build/macos/appbundler.jar
similarity index 100%
rename from build/macosx/appbundler.jar
rename to build/macos/appbundler.jar
diff --git a/build/macosx/appbundler/.classpath b/build/macos/appbundler/.classpath
similarity index 100%
rename from build/macosx/appbundler/.classpath
rename to build/macos/appbundler/.classpath
diff --git a/build/macosx/appbundler/.gitignore b/build/macos/appbundler/.gitignore
similarity index 100%
rename from build/macosx/appbundler/.gitignore
rename to build/macos/appbundler/.gitignore
diff --git a/build/macosx/appbundler/.project b/build/macos/appbundler/.project
similarity index 100%
rename from build/macosx/appbundler/.project
rename to build/macos/appbundler/.project
diff --git a/build/macosx/appbundler/.settings/org.eclipse.jdt.core.prefs b/build/macos/appbundler/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from build/macosx/appbundler/.settings/org.eclipse.jdt.core.prefs
rename to build/macos/appbundler/.settings/org.eclipse.jdt.core.prefs
diff --git a/build/macosx/appbundler/README.md b/build/macos/appbundler/README.md
similarity index 100%
rename from build/macosx/appbundler/README.md
rename to build/macos/appbundler/README.md
diff --git a/build/macosx/appbundler/TODO b/build/macos/appbundler/TODO
similarity index 100%
rename from build/macosx/appbundler/TODO
rename to build/macos/appbundler/TODO
diff --git a/build/macosx/appbundler/build.xml b/build/macos/appbundler/build.xml
similarity index 100%
rename from build/macosx/appbundler/build.xml
rename to build/macos/appbundler/build.xml
diff --git a/build/macosx/appbundler/doc/appbundler.html b/build/macos/appbundler/doc/appbundler.html
similarity index 100%
rename from build/macosx/appbundler/doc/appbundler.html
rename to build/macos/appbundler/doc/appbundler.html
diff --git a/build/macosx/appbundler/native/main.m b/build/macos/appbundler/native/main.m
similarity index 100%
rename from build/macosx/appbundler/native/main.m
rename to build/macos/appbundler/native/main.m
diff --git a/build/macosx/appbundler/processing4-appbundler.iml b/build/macos/appbundler/processing4-appbundler.iml
similarity index 100%
rename from build/macosx/appbundler/processing4-appbundler.iml
rename to build/macos/appbundler/processing4-appbundler.iml
diff --git a/build/macosx/appbundler/res/be.lproj/Localizable.strings b/build/macos/appbundler/res/be.lproj/Localizable.strings
similarity index 100%
rename from build/macosx/appbundler/res/be.lproj/Localizable.strings
rename to build/macos/appbundler/res/be.lproj/Localizable.strings
diff --git a/build/macosx/appbundler/res/cs.lproj/Localizable.strings b/build/macos/appbundler/res/cs.lproj/Localizable.strings
similarity index 100%
rename from build/macosx/appbundler/res/cs.lproj/Localizable.strings
rename to build/macos/appbundler/res/cs.lproj/Localizable.strings
diff --git a/build/macosx/appbundler/res/de.lproj/Localizable.strings b/build/macos/appbundler/res/de.lproj/Localizable.strings
similarity index 100%
rename from build/macosx/appbundler/res/de.lproj/Localizable.strings
rename to build/macos/appbundler/res/de.lproj/Localizable.strings
diff --git a/build/macosx/appbundler/res/en.lproj/Localizable.strings b/build/macos/appbundler/res/en.lproj/Localizable.strings
similarity index 100%
rename from build/macosx/appbundler/res/en.lproj/Localizable.strings
rename to build/macos/appbundler/res/en.lproj/Localizable.strings
diff --git a/build/macosx/appbundler/res/fr.lproj/Localizable.strings b/build/macos/appbundler/res/fr.lproj/Localizable.strings
similarity index 100%
rename from build/macosx/appbundler/res/fr.lproj/Localizable.strings
rename to build/macos/appbundler/res/fr.lproj/Localizable.strings
diff --git a/build/macosx/appbundler/res/ia.lproj/Localizable.strings b/build/macos/appbundler/res/ia.lproj/Localizable.strings
similarity index 100%
rename from build/macosx/appbundler/res/ia.lproj/Localizable.strings
rename to build/macos/appbundler/res/ia.lproj/Localizable.strings
diff --git a/build/macosx/appbundler/res/it.lproj/Localizable.strings b/build/macos/appbundler/res/it.lproj/Localizable.strings
similarity index 100%
rename from build/macosx/appbundler/res/it.lproj/Localizable.strings
rename to build/macos/appbundler/res/it.lproj/Localizable.strings
diff --git a/build/macosx/appbundler/res/ja.lproj/Localizable.strings b/build/macos/appbundler/res/ja.lproj/Localizable.strings
similarity index 100%
rename from build/macosx/appbundler/res/ja.lproj/Localizable.strings
rename to build/macos/appbundler/res/ja.lproj/Localizable.strings
diff --git a/build/macosx/appbundler/res/nl.lproj/Localizable.strings b/build/macos/appbundler/res/nl.lproj/Localizable.strings
similarity index 100%
rename from build/macosx/appbundler/res/nl.lproj/Localizable.strings
rename to build/macos/appbundler/res/nl.lproj/Localizable.strings
diff --git a/build/macosx/appbundler/res/no.lproj/Localizable.strings b/build/macos/appbundler/res/no.lproj/Localizable.strings
similarity index 100%
rename from build/macosx/appbundler/res/no.lproj/Localizable.strings
rename to build/macos/appbundler/res/no.lproj/Localizable.strings
diff --git a/build/macosx/appbundler/res/pt_BR.lproj/Localizable.strings b/build/macos/appbundler/res/pt_BR.lproj/Localizable.strings
similarity index 100%
rename from build/macosx/appbundler/res/pt_BR.lproj/Localizable.strings
rename to build/macos/appbundler/res/pt_BR.lproj/Localizable.strings
diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/AppBundlerTask.java b/build/macos/appbundler/src/com/oracle/appbundler/AppBundlerTask.java
similarity index 100%
rename from build/macosx/appbundler/src/com/oracle/appbundler/AppBundlerTask.java
rename to build/macos/appbundler/src/com/oracle/appbundler/AppBundlerTask.java
diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/Architecture.java b/build/macos/appbundler/src/com/oracle/appbundler/Architecture.java
similarity index 100%
rename from build/macosx/appbundler/src/com/oracle/appbundler/Architecture.java
rename to build/macos/appbundler/src/com/oracle/appbundler/Architecture.java
diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/Argument.java b/build/macos/appbundler/src/com/oracle/appbundler/Argument.java
similarity index 100%
rename from build/macosx/appbundler/src/com/oracle/appbundler/Argument.java
rename to build/macos/appbundler/src/com/oracle/appbundler/Argument.java
diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/BundleDocument.java b/build/macos/appbundler/src/com/oracle/appbundler/BundleDocument.java
similarity index 100%
rename from build/macosx/appbundler/src/com/oracle/appbundler/BundleDocument.java
rename to build/macos/appbundler/src/com/oracle/appbundler/BundleDocument.java
diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/Environment.java b/build/macos/appbundler/src/com/oracle/appbundler/Environment.java
similarity index 100%
rename from build/macosx/appbundler/src/com/oracle/appbundler/Environment.java
rename to build/macos/appbundler/src/com/oracle/appbundler/Environment.java
diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/GenericApp.icns b/build/macos/appbundler/src/com/oracle/appbundler/GenericApp.icns
similarity index 100%
rename from build/macosx/appbundler/src/com/oracle/appbundler/GenericApp.icns
rename to build/macos/appbundler/src/com/oracle/appbundler/GenericApp.icns
diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/IconContainer.java b/build/macos/appbundler/src/com/oracle/appbundler/IconContainer.java
similarity index 100%
rename from build/macosx/appbundler/src/com/oracle/appbundler/IconContainer.java
rename to build/macos/appbundler/src/com/oracle/appbundler/IconContainer.java
diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/JLink.java b/build/macos/appbundler/src/com/oracle/appbundler/JLink.java
similarity index 100%
rename from build/macosx/appbundler/src/com/oracle/appbundler/JLink.java
rename to build/macos/appbundler/src/com/oracle/appbundler/JLink.java
diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/JMod.java b/build/macos/appbundler/src/com/oracle/appbundler/JMod.java
similarity index 100%
rename from build/macosx/appbundler/src/com/oracle/appbundler/JMod.java
rename to build/macos/appbundler/src/com/oracle/appbundler/JMod.java
diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/Option.java b/build/macos/appbundler/src/com/oracle/appbundler/Option.java
similarity index 100%
rename from build/macosx/appbundler/src/com/oracle/appbundler/Option.java
rename to build/macos/appbundler/src/com/oracle/appbundler/Option.java
diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/PlistEntry.java b/build/macos/appbundler/src/com/oracle/appbundler/PlistEntry.java
similarity index 100%
rename from build/macosx/appbundler/src/com/oracle/appbundler/PlistEntry.java
rename to build/macos/appbundler/src/com/oracle/appbundler/PlistEntry.java
diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/Runtime.java b/build/macos/appbundler/src/com/oracle/appbundler/Runtime.java
similarity index 100%
rename from build/macosx/appbundler/src/com/oracle/appbundler/Runtime.java
rename to build/macos/appbundler/src/com/oracle/appbundler/Runtime.java
diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/TypeDeclaration.java b/build/macos/appbundler/src/com/oracle/appbundler/TypeDeclaration.java
similarity index 100%
rename from build/macosx/appbundler/src/com/oracle/appbundler/TypeDeclaration.java
rename to build/macos/appbundler/src/com/oracle/appbundler/TypeDeclaration.java
diff --git a/build/macosx/document.icns b/build/macos/document.icns
similarity index 100%
rename from build/macosx/document.icns
rename to build/macos/document.icns
diff --git a/build/macosx/ffs.entitlements b/build/macos/ffs.entitlements
similarity index 100%
rename from build/macosx/ffs.entitlements
rename to build/macos/ffs.entitlements
diff --git a/build/macosx/jAppleMenuBar-src.zip b/build/macos/jAppleMenuBar-src.zip
similarity index 100%
rename from build/macosx/jAppleMenuBar-src.zip
rename to build/macos/jAppleMenuBar-src.zip
diff --git a/build/macosx/jAppleMenuBar.url b/build/macos/jAppleMenuBar.url
similarity index 100%
rename from build/macosx/jAppleMenuBar.url
rename to build/macos/jAppleMenuBar.url
diff --git a/build/macosx/language_gen.py b/build/macos/language_gen.py
similarity index 100%
rename from build/macosx/language_gen.py
rename to build/macos/language_gen.py
diff --git a/build/macosx/processing.icns b/build/macos/processing.icns
similarity index 100%
rename from build/macosx/processing.icns
rename to build/macos/processing.icns
diff --git a/build/windows/.gitignore b/build/windows/.gitignore
index 187af6093..a02adad3a 100755
--- a/build/windows/.gitignore
+++ b/build/windows/.gitignore
@@ -1 +1,2 @@
-jdk-*.zip
+jdk-17*.zip
+/processing-*.zip
diff --git a/java/application/launch4j/bin/ld-macosx b/java/application/launch4j/bin/ld-macos
similarity index 100%
rename from java/application/launch4j/bin/ld-macosx
rename to java/application/launch4j/bin/ld-macos
diff --git a/java/application/launch4j/bin/windres-macosx b/java/application/launch4j/bin/windres-macos
similarity index 100%
rename from java/application/launch4j/bin/windres-macosx
rename to java/application/launch4j/bin/windres-macos