+#linux: CXXFILES += source/serial/src/impl/unix.cc source/serial/src/impl/list_ports/list_ports_unix.cc
+#linux: LDFLAGS = -lSDL2 -lGL -lpthread
+
+CROSS = x86_64-w64-mingw32-
+CXX = $(CROSS)g++
+
CXXFILES := \
source/serial/src/serial.cc \
- source/serial/src/impl/unix.cc \
- source/serial/src/impl/list_ports/list_ports_linux.cc \
+ source/serial/src/impl/win.cc \
+ source/serial/src/impl/list_ports/list_ports_win.cc \
$(wildcard source/imgui/backends/*.cpp) \
$(wildcard source/imgui/*.cpp) \
$(wildcard source/stmdsp/*.cpp) \
$(wildcard source/*.cpp)
OFILES := $(patsubst %.cc, %.o, $(patsubst %.cpp, %.o, $(CXXFILES)))
-OUTPUT := stmdspgui
+OUTPUT := stmdspgui.exe
-#CXXFLAGS := -std=c++20 -O2 \
-# -Isource -Isource/imgui -Isource/stmdsp -Isource/serial/include
-CXXFLAGS := -std=c++20 -ggdb -O0 -g3 \
+CXXFLAGS := -std=c++20 -O2 \
-Isource -Isource/imgui -Isource/stmdsp -Isource/serial/include \
- -Wall -Wextra -pedantic
+ -Wall -Wextra -pedantic \
+ -DSTMDSP_WIN32 -Wa,-mbig-obj
+LDFLAGS = -mwindows -lSDL2 -lopengl32 -lsetupapi -lole32
all: $(OUTPUT)
$(OUTPUT): $(OFILES)
@echo " LD " $(OUTPUT)
- @g++ $(OFILES) -o $(OUTPUT) -lSDL2 -lGL -lpthread
+ @$(CXX) $(OFILES) -o $(OUTPUT) $(LDFLAGS)
clean:
@echo " CLEAN"
%.o: %.cpp
@echo " CXX " $<
- @g++ $(CXXFLAGS) -c $< -o $@
+ @$(CXX) $(CXXFLAGS) -c $< -o $@
%.o: %.cc
@echo " CXX " $<
- @g++ $(CXXFLAGS) -c $< -o $@
+ @$(CXX) $(CXXFLAGS) -c $< -o $@
if (ImGui::BeginMenu("Open Example")) {
for (const auto& file : fileExampleList) {
- if (ImGui::MenuItem(file.filename().c_str())) {
+ if (ImGui::MenuItem(file.filename().string().c_str())) {
fileCurrentPath = file.string();
openCurrentFile();