OPCIONS = -D_JUDGE_ -D_GLIBCXX_DEBUG -O2 -Wall -Wextra -Werror -Wno-sign-compare -std=c++11

# Llista de tots els objectes necessaris
OBJS = main.o CryptoApp.o User.o Asset.o Holding.o Price.o Address.o

program.exe: $(OBJS)
	g++ -o program.exe $(OBJS)
	rm *.o

main.o: main.cpp CryptoApp.hpp
	g++ -c main.cpp $(OPCIONS)

CryptoApp.o: CryptoApp.cpp CryptoApp.hpp User.hpp Asset.hpp Holding.hpp Price.hpp Address.hpp
	g++ -c CryptoApp.cpp $(OPCIONS)

User.o: User.cpp User.hpp Address.hpp
	g++ -c User.cpp $(OPCIONS)

Asset.o: Asset.cpp Asset.hpp Price.hpp
	g++ -c Asset.cpp $(OPCIONS)

Holding.o: Holding.cpp Holding.hpp
	g++ -c Holding.cpp $(OPCIONS)

Price.o: Price.cpp Price.hpp
	g++ -c Price.cpp $(OPCIONS)

Address.o: Address.cpp Address.hpp
	g++ -c Address.cpp $(OPCIONS)

clean:
	rm *.o
	rm *.exe
	rm *.gch
