# ****************************************************************************
# MAKEFILE. LIBSTARGATE (C) Juan Gonzalez <juan@iearobotics.com> Octubre 2003
# ****************************************************************************
LIBNAME1= libstargate.so.1.0
P1_NAME= sgc-null-test

LIBNAME2= libstargateh.so.1.0
P2_NAME= sgc-null-test-hilos

INCLUDEDIR = ./
LIBDIR = .

#---- Compilador
CC = gcc
CFLAGS = -I$(INCLUDEDIR)

#----- Libreria
DEP_BIBLIOTECA1 = sg-serial.o sg-tramas.o
DEP_BIBLIOTECA2 = $(DEP_BIBLIOTECA1) sg-motor.o

all: $(LIBNAME1) $(LIBNAME2) $(P1_NAME) $(P2_NAME)

# ---- Generacion de la libreria libstargate
$(LIBNAME1):  $(DEP_BIBLIOTECA1)
	 $(CC) -shared -W1,-soname,libstargate.so -o $(LIBNAME1) \
	 $(DEP_BIBLIOTECA1)

sg-serial.o: sg-serial.h sg-serial.c
	$(CC) $(CFLAGS) -fPIC -c sg-serial.c

sg-tramas.o: sg-serial.o sg-tramas.c sg-tramas.h
	$(CC) $(CFLAGS) -fPIC -c sg-tramas.c

clean::
	 rm -f $(DEP_BIBLIOTECA1) $(LIBNAME1)

# ---- Generacion de la libreria libstargateh
$(LIBNAME2):  $(DEP_BIBLIOTECA2)
	 $(CC) -shared -W1,-soname,libstargateh.so -o $(LIBNAME2) \
	 $(DEP_BIBLIOTECA2)

sg-motor.o: sg-motor.h sg-motor.c
	$(CC) $(CFLAGS) -fPIC -c sg-motor.c

clean::
	 rm -f $(DEP_BIBLIOTECA2) $(LIBNAME2)


#----- Generacion del programa de ejemplo sgc-null-test
P1_DEP = $(P1_NAME).o sg-serial.o sg-tramas.o

$(P1_NAME):  $(P1_DEP)
	     $(CC) -o $(P1_NAME) $(P1_DEP)

$(P1_NAME).o: $(P1_NAME).c
	$(CC) $(CFLAGS) -c $(P1_NAME).c

clean::
	  rm -f $(P1_NAME) $(P1_DEP)

#----- Generacion del programa de ejemplo sgc-null-test-hilos
P2_DEP = $(P2_NAME).o sg-serial.o sg-tramas.o sg-motor.o

$(P2_NAME):  $(P2_DEP)
	     $(CC) -o $(P2_NAME) $(P2_DEP) -lpthread

$(P2_NAME).o: $(P2_NAME).c
	$(CC) $(CFLAGS) -c $(P2_NAME).c

clean::
	  rm -f $(P2_NAME) $(P2_DEP)

#------ Instalacion de la libreria y ficheros de desarrollo
install:
	cp $(LIBNAME1) $(LIBNAME2) /usr/lib
	cp sg-serial.h sg-tramas.h sg-motor.h /usr/local/include
	ln -s /usr/lib/$(LIBNAME1) /usr/lib/libstargate.so
	ln -s /usr/lib/$(LIBNAME2) /usr/lib/libstargateh.so
	ldconfig



