From fc220c029bf2aaea554ce1909e08f25d8947b4cf Mon Sep 17 00:00:00 2001
From: San Jacobs
Date: Fri, 5 Aug 2022 12:06:04 +0200
Subject: Windows cross-compilation!

---
 .gitignore              |  1 +
 makefile                | 12 +++++++++---
 windows_crosscompile.sh |  2 ++
 3 files changed, 12 insertions(+), 3 deletions(-)
 create mode 100755 windows_crosscompile.sh

diff --git a/.gitignore b/.gitignore
index 205236c..3ebf37b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
 __pycache__
 obj/*.o
 a.out
+a.exe
 notes.txt
diff --git a/makefile b/makefile
index a217299..a65dd4b 100644
--- a/makefile
+++ b/makefile
@@ -2,8 +2,13 @@
 # Example: -I /usr/include/boost/
 INCLUDE=
 
+# Compiler. Pretty self-explanatory.
+CXX = g++
+
 # Enabling C++17 mode so I can have more <algorithm> stuff
-CFLAGS=-std=c++17
+CVERSION=-std=c++17
+
+CFLAGS=
 
 # LIBDIR is where you can find the linkable objects or whatever. They are used for the linking stage.
 LIBDIR=-L /usr/lib/x86_64-linux-gnu/
@@ -19,11 +24,11 @@ OBJECTS=$(patsubst src/%.cpp, $(OBJDIR)%.o, $(SOURCES))
 # This last line creates an identical list of objects based on the list of .cpp files.
 
 a.out: $(OBJECTS)
-	g++ $(LIBDIR) $(CFLAGS) $(LIBS) $(OBJECTS)
+	$(CXX) $(LIBDIR) $(CVERSION) $(CFLAGS) $(LIBS) $(OBJECTS)
 
 $(OBJECTS): obj/%.o : src/%.cpp
 	mkdir -p obj
-	g++ -g $(INCLUDE) $(CFLAGS) -c $< -o $@
+	$(CXX) -g $(INCLUDE) $(CVERSION) $(CFLAGS) -c $< -o $@
 
 clean:
 	rm obj/*.o
@@ -33,3 +38,4 @@ cleanall:
 
 install: a.out
 	cp a.out /usr/bin/satscalc
+
diff --git a/windows_crosscompile.sh b/windows_crosscompile.sh
new file mode 100755
index 0000000..ae3dcbd
--- /dev/null
+++ b/windows_crosscompile.sh
@@ -0,0 +1,2 @@
+make clean
+make CXX=x86_64-w64-mingw32-g++ CFLAGS=-static
-- 
cgit v1.2.1