#########################################
# Makefile for building: Rostering
# Author:howard
# Project: Rostering
########################################
#Compiler and options
CC =gcc
CXX =g++
CXXFLAGS= -g -w -std=c++11
INCPATH =-I../testMake -I. -I/opt/gurobi603/linux64/include
LIBS =-L/opt/gurobi603/linux64/lib/ -lgurobi_c++ -lgurobi60
#Output directory
#OUTDIR =./test_debug/
#Define fileS
OBJECTS =AllPossibleRecord.o
Crew.o
FirstStage.o
FirstStageSolution.o
GlobalFunction.o
GroupedCrew.o
GroupedPairing.o
InputData.o
InputDataCaptain.o
InputDataCruise.o
InputDataFO.o
InputDataStudent.o
main.o
NetworkForCrew.o
OptControl.o
Output.o
Pairing.o
Parameters.o
SecondStage.o
SubNetwork.o
TARGET =Rostering
#Bulid rules
$(TARGET): /opt/gurobi603/linux64/lib/libgurobi_c++.a $(OBJECTS)
$(CXX) -o $(TARGET) $(OBJECTS) $(LIBS)
# Compile
AllPossibleRecord.o: ./AllPossibleRecord.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o AllPossibleRecord.o ./AllPossibleRecord.cpp
Crew.o: ./Crew.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o Crew.o ./Crew.cpp
FirstStage.o: ./FirstStage.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o FirstStage.o ./FirstStage.cpp
FirstStageSolution.o: ./FirstStageSolution.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o FirstStageSolution.o ./FirstStageSolution.cpp
GlobalFunction.o: ./GlobalFunction.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o GlobalFunction.o ./GlobalFunction.cpp
GroupedCrew.o: ./GroupedCrew.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o GroupedCrew.o ./GroupedCrew.cpp
GroupedPairing.o: ./GroupedPairing.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o GroupedPairing.o ./GroupedPairing.cpp
InputData.o: ./InputData.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o InputData.o ./InputData.cpp
InputDataCaptain.o: ./InputDataCaptain.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o InputDataCaptain.o ./InputDataCaptain.cpp
InputDataCruise.o: ./InputDataCruise.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o InputDataCruise.o ./InputDataCruise.cpp
InputDataFO.o: ./InputDataFO.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o InputDataFO.o ./InputDataFO.cpp
InputDataStudent.o: ./InputDataStudent.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o InputDataStudent.o ./InputDataStudent.cpp
main.o: ./main.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ./main.cpp
NetworkForCrew.o: ./NetworkForCrew.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o NetworkForCrew.o ./NetworkForCrew.cpp
OptControl.o: ./OptControl.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o OptControl.o ./OptControl.cpp
Output.o: ./Output.cpp ./Output.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o Output.o ./Output.cpp
Pairing.o: ./Pairing.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o Pairing.o ./Pairing.cpp
Parameters.o: ./Parameters.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o Parameters.o ./Parameters.cpp
SecondStage.o: ./SecondStage.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o SecondStage.o ./SecondStage.cpp
SubNetwork.o: ./SubNetwork.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o SubNetwork.o ./SubNetwork.cpp
#clean
.PHONY:clean
clean:
rm -r $(TARGET) $(OBJECTS)