EXE = EpisodeBrowser.exe OBJ = b/datalistview.obj OBJ += b/data.obj OBJ += b/debug.obj OBJ += b/episodelistview.obj OBJ += b/ext.obj OBJ += b/layout.obj OBJ += b/listview.obj OBJ += b/main.obj OBJ += b/resource.obj OBJ += b/test.obj OBJ += b/win.obj CC = gcc CFLAGS = -DUNICODE -D_UNICODE CFLAGS += -DDEBUG CFLAGS += -std=c++17 -mwindows -O0 CFLAGS += -IC:/msys64/mingw64/include/libxml2 CFLAGS += -Wall -Wextra -Wpedantic -Wno-missing-field-initializers -Wno-parentheses LDFLAGS += -lstdc++ -lcomctl32 -lwininet -llibxml2 all: showdeps b/$(EXE) cp b/$(EXE) "C:\Users\John\Desktop\Delat" clean: rm -fr b/$(EXE) b/*.obj TAGS: c/*.cpp c/*.h etags --declarations -lc++ c/*.cpp c/*.h b/$(EXE): Makefile $(OBJ) $(CC) $(CFLAGS) -o $@ $(OBJ) $(LDFLAGS) b/resource.obj: c/resource.h c/resource.rc c/application.manifest windres -i c/resource.rc -o b/resource.obj b/%.obj: c/%.cpp $(CC) -c $(CFLAGS) -o $@ $< s/%.s: c/%.cpp $(CC) $(CFLAGS) -fverbose-asm -masm=intel -S -o $@ $< # showdeps prints a short summary of which dependencies have changed, # causing which targets to be rebuilt. It is run by the `all' target # by default. .PHONY: showdeps showdeps: @perl showdeps # showdeps prints all TODO comments in the C++ source files. .PHONY: showtodo showtodo: @perl showtodo # deps.mk includes additional, dynamically generated dependencies for # b/*.obj and b/EpisodeBrowser.exe. Because it is included below, GNU # make should build deps.mk automatically. deps.mk: c/*.cpp @perl makedeps -include deps.mk