TOPDIR=../
include $(TOPDIR)Rules.make

ifeq ($(CDROM_SUPPORT),1)
CDROM_SO=cdrom.so
endif

all: arctar.so $(CDROM_SO) inflate.so fstypes.o pfilesel.so

arctar_so=arctar.o
arctar.so: $(arctar_so)
	$(CC) -shared -o $@ $^

cdrom_so=cdrom.o
cdrom.so: $(cdrom_so)
	$(CC) -shared -o $@ $^

inflate_so=inflate.o
inflate.so: $(inflate_so)
	$(CC) -shared -o $@ $^

pfilesel_so=adb.o cphlpfs.o pfilesel.o pfsmain.o modlist.o fsptype.o mdb.o
pfilesel.so: $(pfilesel_so)
	$(CC) -shared -lm -o $@ $^

clean:
	rm -f *.o *.so modlist_test

adb.o: adb.c adb.h \
	../config.h \
	../types.h \
	../boot/plinkman.h \
	../boot/psetting.h \
	../stuff/poutput.h \
	modlist.h \
	mdb.h \
	../stuff/compat.h
	$(CC) adb.c -o $@ -c

cdrom.o: cdrom.c \
	../config.h \
	../types.h \
	../boot/plinkman.h \
	../boot/pmain.h \
	modlist.h \
	pfilesel.h \
	../stuff/err.h \
	mdb.h
	$(CC) cdrom.c -o $@ -c

mdb.o: mdb.c mdb.h \
	../config.h \
	../types.h \
	../boot/plinkman.h \
	../boot/psetting.h \
	modlist.h \
	pfilesel.h \
	../stuff/imsrtns.h
	$(CC) mdb.c -o $@ -c

inflate.o: inflate.c inflate.h \
	../config.h \
	../types.h \
	../boot/plinkman.h
	$(CC) inflate.c -o $@ -c

cphlpfs.o: cphlpfs.c cphlpfs.h \
	../config.h \
	../types.h \
	../stuff/framelock.h \
	../stuff/poutput.h \
	../help/cphelper.h
	$(CC) cphlpfs.c -o $@ -c

fsptype.o: fsptype.c \
	../config.h \
	../types.h \
	mdb.h
	$(CC) fsptype.c -o $@ -c

modlist.o: modlist.c modlist.h \
	../config.h \
	../types.h \
	../stuff/compat.h
	$(CC) modlist.c -o $@ -c

modlist_test.o: modlist_test.c \
	../config.h
	modlist.h
	$(CC) modlist_test.c -o $@ -c

modlist_test: modlist.o modlist_test.o
	$(CC) -o $@ $^ -lefence

pfilesel.o: pfilesel.c pfilesel.h \
	../config.h \
	../types.h \
	adb.h \
	../boot/psetting.h \
	cphlpfs.h \
	inflate.h \
	mdb.h \
	../stuff/compat.h \
	../stuff/framelock.h \
	../stuff/poutput.h \
	modlist.h
	$(CC) pfilesel.c -o $@ -c

fstypes.o: fstypes.c \
	../config.h
	$(CC) fstypes.c -o $@ -c

pfsmain.o: pfsmain.c \
	../config.h \
	../types.h \
	mdb.h \
	pfilesel.h \
	../boot/plinkman.h \
	../boot/pmain.h \
	../stuff/poutput.h \
	../stuff/err.h \
	../boot/psetting.h
	$(CC) pfsmain.c -o $@ -c

arctar.o: arctar.c \
	../config.h \
	../types.h \
	adb.h \
	mdb.h \
	mif.h \
	../boot/plinkman.h \
	../stuff/compat.h \
	pfilesel.h
	$(CC) arctar.c -o $@ -c
