1#
2# MinGW 32 makefile
3#
4# Change vars MINGW and MINREL in accord to your compiler path/release
5#
6MINGW    =C:/MinGW32
7MINREL   =4.7.2
8#
9#
10CPP      = g++.exe
11CC       = gcc.exe
12TEMP     =../../lib_tmp
13OBJ      = $(TEMP)/win32/lv_snap7.o
14LINKOBJ  = $(TEMP)/win32/lv_snap7.o
15LIBS     = -L"$(MINGW)/lib" -static-libgcc --no-export-all-symbols --add-stdcall-alias $(MINGW)/lib/gcc/mingw32/$(MINREL)/libstdc++.a ../../../release/windows/win32/snap7.lib
16CXXINCS  = -I"$(MINGW)/include"
17OUTPATH  = ../../lib/win32/
18DLL      = lv_snap7.dll
19OUTLIB   = $(TEMP)/lv_snap7.lib
20BIN      = $(OUTPATH)$(DLL)
21CXXFLAGS = $(CXXINCS) -DBUILDING_DLL=1 -Ofast -pedantic
22RM       = rm -f
23
24.PHONY: all all-before all-after clean clean-custom
25
26all: all-before $(BIN) all-after
27
28DLLWRAP=dllwrap.exe
29DLLTOOL=dlltool.exe
30DEFFILE=$(OUTPATH)lv_snap7.def
31
32clean: clean-custom
33	${RM} $(OBJ) $(BIN) $(OUTLIB) $(DEFFILE)
34
35$(BIN): $(LINKOBJ)
36	$(DLLWRAP) --output-def $(DEFFILE) --driver-name c++ $(LINKOBJ) $(LIBS) -o $(BIN)
37
38$(TEMP)/win32/lv_snap7.o: ../../lib_src/lv_snap7.cpp
39	$(CPP) -c ../../lib_src/lv_snap7.cpp -o $(TEMP)/win32/lv_snap7.o $(CXXFLAGS)
40
41all-after:
42	$(DLLTOOL) -D $(DLL) -d $(DEFFILE) -l $(OUTLIB)
43
44
45
46