Under Darwin, using -shared makes it impossible to have undefined symbols
and -bundle has to be used instead; so detect the OS and use
different options.
Based-on: <
20230907101811.469236-1-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
$(CC) $(CFLAGS) -c -o $@ $<
lib%.so: %.o
+ifeq ($(CONFIG_DARWIN),y)
+ $(CC) -bundle -Wl,-undefined,dynamic_lookup -o $@ $^ $(LDLIBS)
+else
$(CC) -shared -o $@ $^ $(LDLIBS)
+endif
clean:
rm -f *.o *.so *.d