INC-DIR = -I. -I/usr/include/jde-robot  
LIB-DIR = -L. 
CC = gcc
CFLAGS = -g -O -pedantic -Wall $(INC-DIR) -fPIC
LIBS = -lm 

#-------------------------------------------------
SCHEMA1 = counter
SCHEMA2 = krider
DRIVER = led8
#-------------------------------------------------
SCH_DIR1=$(SCHEMA1)
SCH_DIR2=$(SCHEMA2)

all: $(SCHEMA1).so $(SCHEMA2).so $(DRIVER).so

SCH_DIR1=$(SCHEMA1)

$(SCHEMA1).so: $(SCH_DIR1)/$(SCHEMA1).o 
	$(CC) -shared -Wl,-soname,$@ $(LIB-DIR) -o $@ $< $(LIBS)

$(SCH_DIR1)/$(SCHEMA1).o: $(SCH_DIR1)/$(SCHEMA1).c $(SCH_DIR1)/$(SCHEMA1).h

clean::
	rm -f $(SCH_DIR1)/*.o $(SCH_DIR1)/*~ $(SCHEMA1).so *~

#---------------------------------------

SCH_DIR2=$(SCHEMA2)

$(SCHEMA2).so: $(SCH_DIR2)/$(SCHEMA2).o 
	$(CC) -shared -Wl,-soname,$@ $(LIB-DIR) -o $@ $< $(LIBS)

$(SCH_DIR2)/$(SCHEMA2).o: $(SCH_DIR2)/$(SCHEMA2).c $(SCH_DIR2)/$(SCHEMA2).h

clean::
	rm -f $(SCH_DIR2)/*.o $(SCH_DIR2)/*~ $(SCHEMA2).so *~
  
  
#-------------------------------------------------

DRV_DIR=$(DRIVER)

$(DRIVER).so: $(DRV_DIR)/$(DRIVER).o $(DRV_DIR)/serial.o
	$(CC) -shared -Wl,-soname,$@ $(LIB-DIR) -o $@ $^ $(LIBS)

$(DRV_DIR)/$(DRIVER).o: $(DRV_DIR)/$(DRIVER).c 

clean::
	rm -f $(DRV_DIR)/*.o $(DRV_DIR)/*~ $(DRIVER).so *~


