Files
CipherStream/makefile

73 lines
2.4 KiB
Makefile

#For Linux
LinuxAll: libCaesar.a libPlayfair.a libVigenere.a libAtbash.a Ciphers
LinuxTest: libCaesar.a libPlayfair.a libVigenere.a libAtbash.a CiphersTest
LinuxDebug: CiphersDBG
#For Windows
WindowsAll: libCaesar.lib libPlayfair.lib libVigenere.lib libAtbash.lib Ciphers.exe
WindowsTest: libCaesar.lib libPlayfair.lib libVigenere.lib libAtbash.lib CiphersTest.exe
WindowsDebug: CipherDBG.exe
directory:
mkdir -p lib
#Linux
libCaesar.a: SourceFiles/Caesar.cpp directory
$(CXX) -shared -std=c++11 -O3 -fPIC -o lib/$@ SourceFiles/Caesar.cpp
libPlayfair.a: SourceFiles/Playfair.cpp directory
$(CXX) -shared -std=c++11 -O3 -fPIC -o lib/$@ SourceFiles/Playfair.cpp
libVigenere.a: SourceFiles/Vigenere.cpp directory
$(CXX) -shared -std=c++11 -O3 -fPIC -o lib/$@ SourceFiles/Vigenere.cpp
libAtbash.a: SourceFiles/Atbash.cpp directory
$(CXX) -shared -std=c++11 -O3 -fPIC -o lib/$@ SourceFiles/Atbash.cpp
Ciphers: main.cpp helperFunctions.hpp
$(CXX) -O3 -std=c++11 -o $@ main.cpp -L ./lib -lCaesar -lPlayfair -lVigenere -lAtbash
CiphersTest: main.cpp
$(CXX) -O3 -std=c++11 -DTEST_VERSION -o Ciphers $< -L ./lib -lCaesar -lPlayfair -lVigenere -lAtbash
CiphersDBG: main.cpp SourceFiles/Caesar.cpp SourceFiles/Playfair.cpp SourceFiles/Vigenere.cpp SourceFiles/Atbash.cpp
$(CXX) -O3 -std=c++11 -g -DTEST_VERSION -o $@ $<
#Windows
libCaesar.lib: SourceFiles/Caesar.cpp directory
g++ -shared -std=c++11 -O3 -fPIC -o lib/$@ SourceFiles/Caesar.cpp
libPlayfair.lib: SourceFiles/Playfair.cpp directory
g++ -shared -std=c++11 -O3 -fPIC -o lib/$@ SourceFiles/Playfair.cpp
libVigenere.lib: SourceFiles/Vigenere.cpp directory
g++ -shared -std=c++11 -O3 -fPIC -o lib/$@ SourceFiles/Vigenere.cpp
libAtbash.lib: SourceFiles/Atbash.cpp directory
g++ -shared -std=c++11 -O3 -fPIC -o lib/$@ SourceFiles/Vigenere.cpp
Ciphers.exe: main.cpp helperFunctions.hpp
g++ -std=c++11 -O3 -o $@ main.cpp -L ./lib -llibCaesar -llibPlayfair -llibVigenere -llibAtbash
CiphersTest.exe: main.cpp
g++ -std=c++11 -O3 -DTEST_VERSION -o Ciphers.exe $< -L ./lib -llibCaesar -llibPlayfair -llibVigenere -llibAtbash
CiphersDBG.exe: main.cpp SourceFiles/Caesar.cpp SourceFiles/Playfair.cpp SourceFiles/Vigenere.cpp SourceFiles/Vigenere.cpp SourceFiles/Atbash.cpp
g++ -std=c++11 -O3 -g -DTEST_VERSION -o $@ $<
#Cleaning Shop
.PHONY: cleanLinux
.PHONY: cleanWindows
#Linux Remove
cleanLinux:
rm -f lib/*.a Ciphers CiphersDBG
#Windows Remove
cleanWindows:
rm -f lib/*.lib Ciphers.exe CiphersDBG.exe