From 3fc6cad0e005bfd9d657ba78909667c6629898c6 Mon Sep 17 00:00:00 2001 From: kenorb Date: Tue, 10 Sep 2024 20:57:16 +0100 Subject: [PATCH] Makefile: Adds support for MQL4/MQL5 compilation --- Exchange/Account/tests/Makefile | 38 ++++++++++++++++++++++++---- Exchange/SymbolInfo/tests/Makefile | 38 ++++++++++++++++++++++++---- Exchange/tests/Makefile | 38 ++++++++++++++++++++++++---- Indicator/tests/Makefile | 38 ++++++++++++++++++++++++---- Indicators/Bitwise/tests/Makefile | 38 ++++++++++++++++++++++++---- Indicators/OHLC/tests/Makefile | 38 ++++++++++++++++++++++++---- Indicators/Oscillator/tests/Makefile | 38 ++++++++++++++++++++++++---- Indicators/Price/tests/Makefile | 38 ++++++++++++++++++++++++---- Indicators/PriceMulti/tests/Makefile | 38 ++++++++++++++++++++++++---- Indicators/PriceRange/tests/Makefile | 38 ++++++++++++++++++++++++---- Indicators/Special/tests/Makefile | 38 ++++++++++++++++++++++++---- Indicators/Tick/tests/Makefile | 38 ++++++++++++++++++++++++---- Indicators/tests/Makefile | 38 ++++++++++++++++++++++++---- Math/tests/Makefile | 38 ++++++++++++++++++++++++---- Platform/Chart/tests/Makefile | 38 ++++++++++++++++++++++++---- Platform/Chart3D/tests/Makefile | 38 ++++++++++++++++++++++++---- Platform/Web/tests/Makefile | 38 ++++++++++++++++++++++++---- Platform/tests/Makefile | 38 ++++++++++++++++++++++++---- Serializer/tests/Makefile | 38 ++++++++++++++++++++++++---- Storage/Cache/tests/Makefile | 38 ++++++++++++++++++++++++---- Storage/Dict/Buffer/tests/Makefile | 38 ++++++++++++++++++++++++---- Storage/Dict/tests/Makefile | 38 ++++++++++++++++++++++++---- Storage/tests/Makefile | 38 ++++++++++++++++++++++++---- Strategy/tests/Makefile | 38 ++++++++++++++++++++++++---- Task/tests/Makefile | 38 ++++++++++++++++++++++++---- Tick/tests/Makefile | 38 ++++++++++++++++++++++++---- Trade/tests/Makefile | 38 ++++++++++++++++++++++++---- tests/Makefile | 38 ++++++++++++++++++++++++---- 28 files changed, 924 insertions(+), 140 deletions(-) diff --git a/Exchange/Account/tests/Makefile b/Exchange/Account/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Exchange/Account/tests/Makefile +++ b/Exchange/Account/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Exchange/SymbolInfo/tests/Makefile b/Exchange/SymbolInfo/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Exchange/SymbolInfo/tests/Makefile +++ b/Exchange/SymbolInfo/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Exchange/tests/Makefile b/Exchange/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Exchange/tests/Makefile +++ b/Exchange/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Indicator/tests/Makefile b/Indicator/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Indicator/tests/Makefile +++ b/Indicator/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Indicators/Bitwise/tests/Makefile b/Indicators/Bitwise/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Indicators/Bitwise/tests/Makefile +++ b/Indicators/Bitwise/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Indicators/OHLC/tests/Makefile b/Indicators/OHLC/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Indicators/OHLC/tests/Makefile +++ b/Indicators/OHLC/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Indicators/Oscillator/tests/Makefile b/Indicators/Oscillator/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Indicators/Oscillator/tests/Makefile +++ b/Indicators/Oscillator/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Indicators/Price/tests/Makefile b/Indicators/Price/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Indicators/Price/tests/Makefile +++ b/Indicators/Price/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Indicators/PriceMulti/tests/Makefile b/Indicators/PriceMulti/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Indicators/PriceMulti/tests/Makefile +++ b/Indicators/PriceMulti/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Indicators/PriceRange/tests/Makefile b/Indicators/PriceRange/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Indicators/PriceRange/tests/Makefile +++ b/Indicators/PriceRange/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Indicators/Special/tests/Makefile b/Indicators/Special/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Indicators/Special/tests/Makefile +++ b/Indicators/Special/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Indicators/Tick/tests/Makefile b/Indicators/Tick/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Indicators/Tick/tests/Makefile +++ b/Indicators/Tick/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Indicators/tests/Makefile b/Indicators/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Indicators/tests/Makefile +++ b/Indicators/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Math/tests/Makefile b/Math/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Math/tests/Makefile +++ b/Math/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Platform/Chart/tests/Makefile b/Platform/Chart/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Platform/Chart/tests/Makefile +++ b/Platform/Chart/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Platform/Chart3D/tests/Makefile b/Platform/Chart3D/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Platform/Chart3D/tests/Makefile +++ b/Platform/Chart3D/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Platform/Web/tests/Makefile b/Platform/Web/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Platform/Web/tests/Makefile +++ b/Platform/Web/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Platform/tests/Makefile b/Platform/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Platform/tests/Makefile +++ b/Platform/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Serializer/tests/Makefile b/Serializer/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Serializer/tests/Makefile +++ b/Serializer/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Storage/Cache/tests/Makefile b/Storage/Cache/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Storage/Cache/tests/Makefile +++ b/Storage/Cache/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Storage/Dict/Buffer/tests/Makefile b/Storage/Dict/Buffer/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Storage/Dict/Buffer/tests/Makefile +++ b/Storage/Dict/Buffer/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Storage/Dict/tests/Makefile b/Storage/Dict/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Storage/Dict/tests/Makefile +++ b/Storage/Dict/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Storage/tests/Makefile b/Storage/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Storage/tests/Makefile +++ b/Storage/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Strategy/tests/Makefile b/Strategy/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Strategy/tests/Makefile +++ b/Strategy/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Task/tests/Makefile b/Task/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Task/tests/Makefile +++ b/Task/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Tick/tests/Makefile b/Tick/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Tick/tests/Makefile +++ b/Tick/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/Trade/tests/Makefile b/Trade/tests/Makefile index e792364f0..ba14b9322 100644 --- a/Trade/tests/Makefile +++ b/Trade/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O) diff --git a/tests/Makefile b/tests/Makefile index e792364f0..ba14b9322 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,12 +1,40 @@ CC := g++ # C++ compiler -CFLAGS := -Wall -Wextra -std=c++17 -w # Compiler flags -SRCS := $(wildcard *.cpp) # Get all .cpp files in the current directory -OBJS := $(SRCS:.cpp=.o) # Object files corresponding to the source files +MTE4 := metaeditor.exe +MTE5 := metaeditor64.exe +CFLAGS := -Wall -Wextra -std=c++17 -w +SRCS_CPP := $(wildcard *.cpp) +SRCS_MQ4 := $(wildcard *.mq4) +SRCS_MQ5 := $(wildcard *.mq5) +OBJS_EX4 := $(SRCS_MQ4:.mq4=.ex4) +OBJS_EX5 := $(SRCS_MQ5:.mq5=.ex5) +OBJS_O := $(SRCS_CPP:.cpp=.o) -all: $(OBJS) +# Check if the system is Linux +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) + WINE := wine + # Set WINEPATH to include MetaTrader directory. + export WINEPATH := $(WINEPATH);"C:\Program Files\MetaTrader 4;C:\Program Files\MetaTrader 5" +else + WINE := +endif + +.PHONY: all cpp mql mql4 mql5 + +all: $(OBJS_O) +cpp: $(OBJS_O) +mql4: $(OBJS_EX4) +mql5: $(OBJS_EX5) +mql: mql4 mql5 + +%.ex4: %.mq4 + $(WINE) $(MTE4) /compile:$< /log:CON + +%.ex5: %.mq5 + $(WINE) $(MTE5) /compile:$< /log:CON %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: - rm -v $(OBJS) + rm -v $(OBJS_EX4) $(OBJS_EX5) $(OBJS_O)