
RELEASE = -O2

OBJ = junk/
JUNK = junk/

LOCAL_SRC = local/src/
LOCAL_H = local/header/

MESH_CONV_SRC=src_lib/src/
MESH_CONV_H=src_lib/header/

CFLAGS = -pipe -Wall -Wextra
INCPATH = -I${MESH_CONV_H} -I${LOCAL_H}

GPP = g++ 
EXEC = bin/tp

LINKLIB =  -lm -lGL -lGLU -lglut 

F01=MC_sphere_geometry
F02=MC_sphere_physic
F03=MC_particle_engine
F04=MC_grid_3d
F05=MC_grid_index_spatial_hashing
F06=MC_grid_3d_scalar
F07=MC_grid_3d_scalar_slicer
F08=MC_potential_sphere
F09=MC_grid_3d_scalar_marching_cube
F10=MC_v3d
F11=MC_int_vector
F12=MC_int_vector_vector
F13=MC_exception
F14=MC_curve
F15=MC_segment
F16=MC_v3d_vector
F17=MC_string_helper
F18=MC_potential_implicit
F19=MC_double_vector
F20=MC_mesh_index_vector
F21=MC_int_pair
F22=MC_connectivity_index
F23=MC_mesh_index_vector_draw
F24=MC_quaternion
F25=MC_trackball
F26=MC_matrix
F27=MC_v4d
F28=MC_navigator_tool
F29=MC_opengl_drawer
F30=MC_mesh_fast_draw
F31=MC_io_obj
F32=MC_int_pair_unique
F33=MC_double_vector_vector
F34=MC_polygon
F35=MC_triangle
F36=MC_io_off
F37=MC_helper_stl




EVERYTHING = $(OBJ)main.o $(OBJ)$(F01).o $(OBJ)$(F02).o $(OBJ)$(F03).o $(OBJ)$(F04).o $(OBJ)$(F05).o $(OBJ)$(F06).o $(OBJ)$(F07).o $(OBJ)$(F08).o $(OBJ)$(F09).o $(OBJ)$(F10).o $(OBJ)$(F11).o $(OBJ)$(F12).o $(OBJ)$(F13).o $(OBJ)$(F14).o $(OBJ)$(F15).o $(OBJ)$(F16).o $(OBJ)$(F17).o $(OBJ)$(F18).o $(OBJ)$(F19).o $(OBJ)$(F20).o $(OBJ)$(F21).o $(OBJ)$(F22).o $(OBJ)$(F23).o $(OBJ)$(F24).o $(OBJ)$(F25).o $(OBJ)$(F26).o $(OBJ)$(F27).o $(OBJ)$(F28).o $(OBJ)$(F29).o $(OBJ)$(F30).o $(OBJ)$(F31).o $(OBJ)$(F32).o $(OBJ)$(F33).o $(OBJ)$(F34).o $(OBJ)$(F35).o $(OBJ)$(F36).o $(OBJ)$(F37).o


all: $(EXEC)


$(EXEC): $(EVERYTHING)
	@echo 
	@echo ================ [LINKAGE ...]  ================ 
	@echo

	$(GPP) $(EVERYTHING) -o $(EXEC) $(LINKLIB)
	@echo
	@echo [OK]
	@echo 
	@echo ================ [progam compiled succesfully] ================ 
	@echo


$(OBJ)main.o: $(LOCAL_SRC)main.cpp
	@echo --------- build [$(F01)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(LOCAL_SRC)main.cpp -o $(OBJ)main.o
	@echo OK [$(F01)]
	@echo

$(OBJ)$(F01).o: $(LOCAL_SRC)$(F01).cpp $(LOCAL_H)$(F01).hpp
	@echo --------- build [$(F01)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(LOCAL_SRC)$(F01).cpp -o $(OBJ)$(F01).o
	@echo OK [$(F01)]
	@echo

$(OBJ)$(F02).o: $(LOCAL_SRC)$(F02).cpp $(LOCAL_H)$(F02).hpp
	@echo --------- build [$(F02)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(LOCAL_SRC)$(F02).cpp -o $(OBJ)$(F02).o
	@echo OK [$(F02)]
	@echo

$(OBJ)$(F03).o: $(LOCAL_SRC)$(F03).cpp $(LOCAL_H)$(F03).hpp
	@echo --------- build [$(F03)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(LOCAL_SRC)$(F03).cpp -o $(OBJ)$(F03).o
	@echo OK [$(F03)]
	@echo

$(OBJ)$(F04).o: $(LOCAL_SRC)$(F04).cpp $(LOCAL_H)$(F04).hpp
	@echo --------- build [$(F04)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(LOCAL_SRC)$(F04).cpp -o $(OBJ)$(F04).o
	@echo OK [$(F04)]
	@echo

$(OBJ)$(F05).o: $(LOCAL_SRC)$(F05).cpp $(LOCAL_H)$(F05).hpp
	@echo --------- build [$(F05)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(LOCAL_SRC)$(F05).cpp -o $(OBJ)$(F05).o
	@echo OK [$(F05)]
	@echo

$(OBJ)$(F06).o: $(LOCAL_SRC)$(F06).cpp $(LOCAL_H)$(F06).hpp
	@echo --------- build [$(F06)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(LOCAL_SRC)$(F06).cpp -o $(OBJ)$(F06).o
	@echo OK [$(F06)]
	@echo

$(OBJ)$(F07).o: $(LOCAL_SRC)$(F07).cpp $(LOCAL_H)$(F07).hpp
	@echo --------- build [$(F07)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(LOCAL_SRC)$(F07).cpp -o $(OBJ)$(F07).o
	@echo OK [$(F07)]
	@echo

$(OBJ)$(F08).o: $(LOCAL_SRC)$(F08).cpp $(LOCAL_H)$(F08).hpp
	@echo --------- build [$(F08)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(LOCAL_SRC)$(F08).cpp -o $(OBJ)$(F08).o
	@echo OK [$(F08)]
	@echo

$(OBJ)$(F09).o: $(LOCAL_SRC)$(F09).cpp $(LOCAL_H)$(F09).hpp
	@echo --------- build [$(F09)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(LOCAL_SRC)$(F09).cpp -o $(OBJ)$(F09).o
	@echo OK [$(F09)]
	@echo

$(OBJ)$(F10).o: $(MESH_CONV_SRC)$(F10).cpp $(MESH_CONV_H)$(F10).hpp
	@echo --------- build [$(F10)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F10).cpp -o $(OBJ)$(F10).o
	@echo OK [$(F10)]
	@echo

$(OBJ)$(F11).o: $(MESH_CONV_SRC)$(F11).cpp $(MESH_CONV_H)$(F11).hpp
	@echo --------- build [$(F11)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F11).cpp -o $(OBJ)$(F11).o
	@echo OK [$(F11)]
	@echo

$(OBJ)$(F12).o: $(MESH_CONV_SRC)$(F12).cpp $(MESH_CONV_H)$(F12).hpp
	@echo --------- build [$(F12)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F12).cpp -o $(OBJ)$(F12).o
	@echo OK [$(F12)]
	@echo

$(OBJ)$(F13).o: $(MESH_CONV_SRC)$(F13).cpp $(MESH_CONV_H)$(F13).hpp
	@echo --------- build [$(F13)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F13).cpp -o $(OBJ)$(F13).o
	@echo OK [$(F13)]
	@echo

$(OBJ)$(F14).o: $(MESH_CONV_SRC)$(F14).cpp $(MESH_CONV_H)$(F14).hpp
	@echo --------- build [$(F14)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F14).cpp -o $(OBJ)$(F14).o
	@echo OK [$(F14)]
	@echo

$(OBJ)$(F15).o: $(MESH_CONV_SRC)$(F15).cpp $(MESH_CONV_H)$(F15).hpp
	@echo --------- build [$(F15)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F15).cpp -o $(OBJ)$(F15).o
	@echo OK [$(F15)]
	@echo

$(OBJ)$(F16).o: $(MESH_CONV_SRC)$(F16).cpp $(MESH_CONV_H)$(F16).hpp
	@echo --------- build [$(F16)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F16).cpp -o $(OBJ)$(F16).o
	@echo OK [$(F16)]
	@echo

$(OBJ)$(F17).o: $(MESH_CONV_SRC)$(F17).cpp $(MESH_CONV_H)$(F17).hpp
	@echo --------- build [$(F17)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F17).cpp -o $(OBJ)$(F17).o
	@echo OK [$(F17)]
	@echo

$(OBJ)$(F18).o: $(MESH_CONV_SRC)$(F18).cpp $(MESH_CONV_H)$(F18).hpp
	@echo --------- build [$(F18)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F18).cpp -o $(OBJ)$(F18).o
	@echo OK [$(F18)]
	@echo

$(OBJ)$(F19).o: $(MESH_CONV_SRC)$(F19).cpp $(MESH_CONV_H)$(F19).hpp
	@echo --------- build [$(F19)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F19).cpp -o $(OBJ)$(F19).o
	@echo OK [$(F19)]
	@echo

$(OBJ)$(F20).o: $(MESH_CONV_SRC)$(F20).cpp $(MESH_CONV_H)$(F20).hpp
	@echo --------- build [$(F20)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F20).cpp -o $(OBJ)$(F20).o
	@echo OK [$(F20)]
	@echo

$(OBJ)$(F21).o: $(MESH_CONV_SRC)$(F21).cpp $(MESH_CONV_H)$(F21).hpp
	@echo --------- build [$(F21)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F21).cpp -o $(OBJ)$(F21).o
	@echo OK [$(F21)]
	@echo

$(OBJ)$(F22).o: $(MESH_CONV_SRC)$(F22).cpp $(MESH_CONV_H)$(F22).hpp
	@echo --------- build [$(F22)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F22).cpp -o $(OBJ)$(F22).o
	@echo OK [$(F22)]
	@echo

$(OBJ)$(F23).o: $(MESH_CONV_SRC)$(F23).cpp $(MESH_CONV_H)$(F23).hpp
	@echo --------- build [$(F23)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F23).cpp -o $(OBJ)$(F23).o
	@echo OK [$(F23)]
	@echo

$(OBJ)$(F24).o: $(MESH_CONV_SRC)$(F24).cpp $(MESH_CONV_H)$(F24).hpp
	@echo --------- build [$(F24)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F24).cpp -o $(OBJ)$(F24).o
	@echo OK [$(F24)]
	@echo

$(OBJ)$(F25).o: $(MESH_CONV_SRC)$(F25).cpp $(MESH_CONV_H)$(F25).hpp
	@echo --------- build [$(F25)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F25).cpp -o $(OBJ)$(F25).o
	@echo OK [$(F25)]
	@echo

$(OBJ)$(F26).o: $(MESH_CONV_SRC)$(F26).cpp $(MESH_CONV_H)$(F26).hpp
	@echo --------- build [$(F26)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F26).cpp -o $(OBJ)$(F26).o
	@echo OK [$(F26)]
	@echo

$(OBJ)$(F27).o: $(MESH_CONV_SRC)$(F27).cpp $(MESH_CONV_H)$(F27).hpp
	@echo --------- build [$(F27)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F27).cpp -o $(OBJ)$(F27).o
	@echo OK [$(F27)]
	@echo

$(OBJ)$(F28).o: $(MESH_CONV_SRC)$(F28).cpp $(MESH_CONV_H)$(F28).hpp
	@echo --------- build [$(F28)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F28).cpp -o $(OBJ)$(F28).o
	@echo OK [$(F28)]
	@echo

$(OBJ)$(F29).o: $(MESH_CONV_SRC)$(F29).cpp $(MESH_CONV_H)$(F29).hpp
	@echo --------- build [$(F29)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F29).cpp -o $(OBJ)$(F29).o
	@echo OK [$(F29)]
	@echo

$(OBJ)$(F30).o: $(MESH_CONV_SRC)$(F30).cpp $(MESH_CONV_H)$(F30).hpp
	@echo --------- build [$(F30)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F30).cpp -o $(OBJ)$(F30).o
	@echo OK [$(F30)]
	@echo

$(OBJ)$(F31).o: $(MESH_CONV_SRC)$(F31).cpp $(MESH_CONV_H)$(F31).hpp
	@echo --------- build [$(F31)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F31).cpp -o $(OBJ)$(F31).o
	@echo OK [$(F31)]
	@echo

$(OBJ)$(F32).o: $(MESH_CONV_SRC)$(F32).cpp $(MESH_CONV_H)$(F32).hpp
	@echo --------- build [$(F32)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F32).cpp -o $(OBJ)$(F32).o
	@echo OK [$(F32)]
	@echo

$(OBJ)$(F33).o: $(MESH_CONV_SRC)$(F33).cpp $(MESH_CONV_H)$(F33).hpp
	@echo --------- build [$(F33)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F33).cpp -o $(OBJ)$(F33).o
	@echo OK [$(F33)]
	@echo

$(OBJ)$(F34).o: $(MESH_CONV_SRC)$(F34).cpp $(MESH_CONV_H)$(F34).hpp
	@echo --------- build [$(F34)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F34).cpp -o $(OBJ)$(F34).o
	@echo OK [$(F34)]
	@echo

$(OBJ)$(F35).o: $(MESH_CONV_SRC)$(F35).cpp $(MESH_CONV_H)$(F35).hpp
	@echo --------- build [$(F35)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F35).cpp -o $(OBJ)$(F35).o
	@echo OK [$(F35)]
	@echo

$(OBJ)$(F36).o: $(MESH_CONV_SRC)$(F36).cpp $(MESH_CONV_H)$(F36).hpp
	@echo --------- build [$(F36)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F36).cpp -o $(OBJ)$(F36).o
	@echo OK [$(F36)]
	@echo

$(OBJ)$(F37).o: $(MESH_CONV_SRC)$(F37).cpp $(MESH_CONV_H)$(F37).hpp
	@echo --------- build [$(F37)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(MESH_CONV_SRC)$(F37).cpp -o $(OBJ)$(F37).o
	@echo OK [$(F37)]
	@echo


clean:
	rm -f *~ *.o $(OBJ)*.o $(SRC)*~ $(H)*~ *# $(H)*# $(SRC)*# 
	@echo
	@echo cleaning done
	@echo
