MODULE = bigworld
include ../include/makeopts

all: $(MODULE).so

# put stuff in the run directory
dlinstall: $(MODULE).so
	cp $(MODULE).so ../run

# put .o file in the loader directory
staticinstall: $(MODULE).o
	cp $(MODULE).o ../loader

# build the dlopen()able file
$(MODULE).so: $(MODULE).o
	ld -shared $(MODULE).o -o $(MODULE).so

# The module depends on the included file, too.
stuff.o: ../include/devmud.h

$(MODULE).o: stuff.o assoc.o export_syms
#	ld -i stuff.o assoc.o -o $(MODULE).o
	ld -i --retain-symbols-file export_syms stuff.o assoc.o -o $(MODULE).o

export_syms:
	rm -f export_syms
	echo $(MODULE)_initialize >> export_syms
	echo $(MODULE)_start >> export_syms
	echo $(MODULE)_stop >> export_syms
	echo $(MODULE)_supplies >> export_syms
	echo $(MODULE)_use_functions >> export_syms
	echo $(MODULE)_uses >> export_syms

clean:
	rm -f *.o core export_syms

spotless: clean
	rm -f *.so
