ifeq ($(BITS),32)
CXX = i686-w64-mingw32-g++
WINDMC = i686-w64-mingw32-windmc
WINDRES = i686-w64-mingw32-windres
else
CXX = x86_64-w64-mingw32-g++
WINDMC = x86_64-w64-mingw32-windmc
WINDRES = x86_64-w64-mingw32-windres
endif

srcdir ?= .

SOURCES = $(srcdir)/cmds.cpp $(srcdir)/devcon.cpp $(srcdir)/dump.cpp

CXXFLAGS = -DUNICODE -D_UNICODE -municode -static -I$(srcdir) -I.
LIBS = -lsetupapi -lole32

all: devcon.exe

clean:
	rm -f devcon.exe *.o msg.rc msg.h MSG00001.bin

devcon.exe: $(SOURCES) devcon-rc.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(LIBS)

msg.rc: $(srcdir)/msg.mc
	$(WINDMC) $<

# Note this includes msg.rc, we do not need to compile that separately.
devcon-rc.o: $(srcdir)/devcon.rc msg.rc
	$(WINDRES) -I. $< -o $@
