CC= gcc

OBJstatic = omg.c common.c static.c 
OBJrwp = omg.c common.c job.c rwp.c grid.c
OBJrwalk = omg.c common.c job.c rwalk.c 
OBJtrace = omg.c common.c job.c trace.c mobility_parser.c hashtable.c 
OBJsumo = omg.c common.c sumo.c client_traci_OMG.c socket_traci_OMG.c storage_traci_OMG.c id_manager.c

OBJ = omg.c common.c static.c job.c rwp.c rwalk.c trace.c steadystaterwp.c sumo.c grid.c mobility_parser.c hashtable.c client_traci_OMG.c socket_traci_OMG.c storage_traci_OMG.c id_manager.c 

CFLAGS += -DSTANDALONE -DUSER_MODE -g

.PHONY: help staticOMG rwpOMG clean

help:
	@echo '  "make staticOMG" to compile the STATIC version'
	@echo '  "make rwpOMG" to compile the RWP version'
	@echo '  "make rwalkOMG" to compile the RWALK version'
	@echo '  "make traceOMG" to compile the TRACE version'
	@echo '  "make sumoOMG" to compile the SUMO version'
	@echo '  "make clean" to remove the generated files and restore the original distribution'
	@echo '  "make OMG" to compile the complete version'


staticOMG:	${OBJstatic} 
	${CC} ${OBJstatic} -o staticOMG $(CFLAGS)

	
rwpOMG:	${OBJrwp} 
	${CC} ${OBJrwp} -lm -o rwpOMG $(CFLAGS)
	@#-lm: used to link to math lib
	 
traceOMG:${OBJtrace} 
	${CC} ${OBJtrace} -lm -o traceOMG $(CFLAGS)

rwalkOMG:	${OBJrwalk} 
	${CC} ${OBJrwalk} -lm -o rwalkOMG $(CFLAGS)

sumoOMG:	${OBJsumo} 
	${CC} ${OBJsumo} -lm -o sumoOMG $(CFLAGS)

omg:
OMG:	${OBJ} 
	${CC} ${OBJ} -lm -o OMG $(CFLAGS)

clean:
	@echo "Cleaning"
	@rm OMG
	@#rm rwpOMG
	@#rm rwalkOMG
	@#rm traceOMG
	@#rm staticOMG
	@rm sumoOMG
	
