CC = cc CFLAGS = -O2 -fPIC DYLIBFLAGS = -bundle -undefined suppress LDFLAGS = -L/usr/local/lib/system -ldl -ldyld PROGRAM = hello DYLIBNAME = libhello.dylib DYLIBOBJS = hh.o hw.o all: $(PROGRAM) $(DYLIBNAME): $(DYLIBOBJS) $(CC) $(DYLIBFLAGS) -o $@ $(DYLIBOBJS) $(PROGRAM): main.c $(DYLIBNAME) $(CC) main.c -o $@ $(LDFLAGS) clean: $(RM) *.o *.dylib *~ $(PROGRAM)