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

TARGET1 = $(TARGET)_d
TARGET2 = $(TARGET)_a

all: $(LIB) $(TARGET1) $(TARGET2)

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

$(TARGET1):	$(TARGET1).c $(LIB)
	gcc $< -Bdynamic -ldl -L./ -l$(TARGET) -o $@

$(TARGET2):	$(TARGET2).c $(LIB)
	gcc $< -Bdynamic -L./ -l$(TARGET) -o $@

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