#+--------------------------------------------------------------+
#|                                                              |
#| *****  Makefile (making for .exe/.a ) *****                  |
#|	                              takashi 20080516 (Chuo univ)  |
#|                                                              |
#+--------------------------------------------------------------+

CLASSNAME = RTCompConnect

###
###  making file name
#########################################

TARGET  		= sampleConnectIO.exe	# Execute file name
TARGETLIB 	= lib$(CLASSNAME).a		# Library file name(for RTM)

###
###
###   RT middleware setting
######################################3
RTLIBFLAG = `rtm-config --libs`
RTINCFLAG = `rtm-config --cflags`

###
###   COMPILE SETTING 
########################################################

LPATHS = -L/usr/lib -L/usr/local/lib -L$(QTDIR)/lib
LFLAG	=  -g -O $(RTLIBFLAG)

IPATHS	=  -I/usr/include -I/usr/local/include -I../ 
CFLAGS	=  -Wall -o32 -B 2048 $(RTINCFLAG)

XINVS	= 

CFLAGS2 = 
DLD     =

INC = ./
BIN = ./
SRC = ./
OBJ =	./obj/
CPP = ./
TARGETLIBDIR = ./

###
###  OBJECTS
########################################################

LIBOBJECTS =	$(OBJ)RTCompConnect.o \
		$(OBJ)RTCompControl.o \

OBJECTS =	$(LIBOBJECTS) \
		$(OBJ)main.o	\

MOC = 

###
###  COMPILING COMMANDS 
###########################################################

# making Library (making for RT)
# ***.a : ( cd ***

all:	$(MOC) $(OBJECTS)
	$(CXX) $(IPATHS) $(LPATHS) -o $(BIN)$(TARGET) $(OBJECTS) $(STATIC_LIB) \
	$(LFLAG) $(XINVS) $(DLD) 

lib:	$(LIBOBJECTS)
	$(AR) $(ARFLAGS) $(TARGETLIBDIR)$(TARGETLIB) $(LIBOBJECTS)

clean:
	/bin/rm -f core ./$(SRC)*~ ./$(SRC)core ./$(OBJ)*.o ./$(OBJ)*~
	/bin/rm -f *~ core server client
	/bin/rm -f $(BIN)$(TARGET)
	/bin/rm -f $(TARGETLIBDIR)$(TARGETLIB)

solib:
	$(CXX) -fPIC -c RTCompConnect.cpp RTCompControl.cpp $(RTINCFLAG)
	$(CXX) -shared -Wl,-soname,libKojiRTM.so.1 -o libKojiRTM.so.1.0 *.o	

###
###  INTER-DEPENDANCY LIST (contains both .h & .o files)
###
#############################################################

$(OBJ)main.o:
			$(CXX) $(IPATHS) $(CFLAGS) $(CFLAGS2) -o $(OBJ)main.o -c \
			$(SRC)main.cpp

$(OBJ)RTCompControl.o:	$(SRC)RTCompControl.cpp $(INC)RTCompControl.h
			$(CXX) $(IPATHS) $(CFLAGS) $(CFLAGS2) -o $(OBJ)RTCompControl.o -c \
			$(SRC)RTCompControl.cpp

$(OBJ)RTCompConnect.o: $(SRC)RTCompConnect.cpp $(INC)RTCompConnect.h
			$(CXX) $(IPATHS) $(CFLAGS) $(CFLAGS2) -o $(OBJ)RTCompConnect.o -c \
			$(SRC)RTCompConnect.cpp
