diff --git a/wpimath/generate_numbers.py b/wpimath/generate_numbers.py
old mode 100644
new mode 100755
index c9da1a4..2aeb45a
--- a/wpimath/generate_numbers.py
+++ b/wpimath/generate_numbers.py
@@ -1,3 +1,5 @@
+#!/usr/bin/env python3
+
 # Copyright (c) FIRST and other WPILib contributors.
 # Open Source Software; you can modify and/or share it under the terms of
 # the WPILib BSD license file in the root directory of this project.
@@ -19,7 +21,7 @@
                 return
 
     # File either doesn't exist or has different contents
-    with open(outpathname, "w") as f:
+    with open(outpathname, "w", newline="\n") as f:
         f.write(contents)
 
 
@@ -27,23 +29,22 @@
     MAX_NUM = 20
 
     dirname, _ = os.path.split(os.path.abspath(__file__))
-    cmake_binary_dir = sys.argv[1]
 
     env = Environment(
-        loader=FileSystemLoader(f"{dirname}/src/generate"),
+        loader=FileSystemLoader(f"{dirname}/src/generate/main/java"),
         autoescape=False,
         keep_trailing_newline=True,
     )
 
     template = env.get_template("GenericNumber.java.jinja")
-    rootPath = f"{cmake_binary_dir}/generated/main/java/edu/wpi/first/math/numbers"
+    rootPath = f"{dirname}/src/generated/main/java/edu/wpi/first/math/numbers"
 
     for i in range(MAX_NUM + 1):
         contents = template.render(num=i)
         output(rootPath, f"N{i}.java", contents)
 
     template = env.get_template("Nat.java.jinja")
-    rootPath = f"{cmake_binary_dir}/generated/main/java/edu/wpi/first/math"
+    rootPath = f"{dirname}/src/generated/main/java/edu/wpi/first/math"
     contents = template.render(nums=range(MAX_NUM + 1))
     output(rootPath, "Nat.java", contents)
 
