CFLAGS=-O -g -B./
CFLAGS=-O -g
PIC=-fPIC

PROGS= foo

all: $(PROGS)
	for f in $(PROGS); do echo "Running: $$f"; ./$$f; \
	  if [ $$? != 0 ]; then echo Failed; fi; done

foo: main.o libfoo.so
	$(CC) -o $@ $(CFLAGS) $^ -Wl,-rpath,.

libfoo.so: shared.c
	$(CC) -shared -o $@ $(CFLAGS) $^

main.o: main.c
	$(CC) $(CFLAGS) -c $<

.c.o:
	$(CC) $(CFLAGS) $(PIC) -c $<

clean:
	rm -f $(PROGS) *.so *.o *.s

tar:
	tar cfz bug.tar.gz *.c Makefile
