EXE = EpisodeBrowser.exe OBJ = b/datalistview.obj b/debug.obj b/episodelistview.obj b/wcharptr.obj b/win.obj OBJ += b/layout.obj b/listview.obj b/pl.obj b/resource.obj PL = pl/cfg.pl pl/episode_data.pl pl/local_episodes.pl pl/track_episodes.pl CL = swipl-ld CLFLAGS = -DUNICODE -D_UNICODE CLFLAGS += -cc-options,-std=c++17 -O2 CLFLAGS += -Wall -Wextra -Wpedantic -Wno-missing-field-initializers -Wno-parentheses CLFLAGS += -ld-options,-mwindows,-static-libstdc++ -lcomctl32 #CLFLAGS += -ld-options,-mconsole WINI = C:/Perl/c/x86_64-w64-mingw32/include WINH = $(WINI)/win*.h $(WINI)/basetsd.h all: showdeps b/$(EXE) cp b/$(EXE) "C:\Users\John\Desktop\Delat" clean: rm -fr b/$(EXE) b/*.obj TAGS: c/*.cpp c/*.h pl/*.pl etags c/*.cpp c/*.h $(WINH) -lprolog pl/*.pl b/$(EXE): Makefile c/main.cpp $(OBJ) $(PL) $(CL) $(CLFLAGS) -goal true -o $@ c/main.cpp $(OBJ) $(PL) 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 $(CL) -c $(CLFLAGS) -o $@ $< s/%.s: c/%.cpp $(CL) $(CLFLAGS) -cc-options,-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