TARGET = hello
MAIN = $(TARGET)_main
CHILD = $(TARGET)_child
LIB = lib$(TARGET)

all: $(LIB) $(TARGET)

$(LIB):	../$(CHILD).c ../$(CHILD).h
	gcc -c -fpic -fPIC -shared ../$(CHILD).c -o $(CHILD).o
	gcc -shared -o $(LIB).so $(CHILD).o
	rm -f *.o

$(TARGET): ../$(MAIN).c $(LIB)
	gcc ../$(MAIN).c -Bdynamic -L./ -l$(TARGET) -o $(TARGET)

clean disclean:
	rm -f *.o $(LIB).so $(TARGET)