PROG_SOURCE = yktrl.cpp SOURCE += commandParser.cpp SOURCE += ykushxs/ykushxs.cpp SOURCE += ykush/ykush.cpp SOURCE += ykush2/ykush2.cpp SOURCE += ykush3/ykush3.cpp SOURCE += yk_usb_device.cpp SOURCE += help/ykush_help.cpp SOURCE += utils/command_parser.cpp SOURCE += utils/string2val.cpp SOURCE_FULL = $(addprefix src/, $(SOURCE)) PROG_SOURCE_FULL = $(addprefix src/, $(PROG_SOURCE)) OBJS = $(SOURCE_FULL:.cpp=.o) PROG_OBJ = $(PROG_SOURCE_FULL:.cpp=.o) CUR_PATH = $(CURDIR) INCLUDEPATHS = $(addprefix -I$(CUR_PATH)/, $(dir $(SOURCE_FULL)) hidapi ) LOADPATHS = -L$(CUR_PATH)/hidapi/mingw32 LIBS = -lhidapi FLAGS = -static-libgcc -static-libstdc++ #Change MinGW exec name to match version instaled in your system CPP = i686-w64-mingw32-g++ #CPP_WIN32 = i686-w64-mingw32-g++ #CPP_WIN64 = x86_64-w64-mingw32-g++ ykushcmd_win32.exe : $(PROG_OBJ) $(OBJS) $(CPP) $(FLAGS) $(LOADPATHS) -o bin/Win32/$@ $(PROG_OBJ) $(OBJS) $(LIBS) $(PROG_OBJ) : %.o : %.cpp $(CPP) $(FLAGS) $(PREPROCESSOR_DEFS) $(INCLUDEPATHS) -c $< -o $@ $(OBJS) : %.o : %.cpp %.h $(CPP) $(FLAGS) $(PREPROCESSOR_DEFS) $(INCLUDEPATHS) -c $< -o $@ clean : rm -f bin/Win32/yktrl_win32.exe $(OBJS) $(PROG_OBJ)