# $Id: Makefile,v 1.7 1998/01/07 08:43:46 rth Exp $

include ../Makeconfig

DEFS += -DELF_MACHINE_H='"elf_$(ARCH).h"' -DARCH_$(ARCH)

#----------------------------------------------------------------------

all: insmod rmmod lsmod ksyms modinfo

ifeq ($(COMBINE_INSMOD_RMMOD),y)

insmod: main.o insmod.o rmmod.o logger.o ../obj/libobj.a ../util/libutil.a
	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^
rmmod: insmod
	ln -sf $^ $@
insmod.o: insmod.c
	$(CC) $(CFLAGS) $(DEFS) -Dmain=insmod_main -c -o $@ $<
rmmod.o: rmmod.c
	$(CC) $(CFLAGS) $(DEFS) -Dmain=rmmod_main -c -o $@ $<

else

insmod: insmod.o logger.o ../obj/libobj.a ../util/libutil.a
	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^
rmmod: rmmod.o logger.o ../util/libutil.a
	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^

endif

lsmod: lsmod.o logger.o ../util/libutil.a
	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^

ksyms: ksyms.o logger.o ../util/libutil.a
	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^

modinfo: modinfo.o logger.o ../obj/libobj.a ../util/libutil.a
	$(CC) $(CFLAGS) $(DEFS) -o $@ $^

realclean clean:
	rm -f *.o .depend insmod rmmod lsmod ksyms modinfo

ifeq ($(COMBINE_INSMOD_RMMOD),y)
install-insmod-rmmod:
	$(INSTALL) insmod $(sbindir)
	ln -sf insmod $(sbindir)/rmmod
else
install-insmod-rmmod:
	$(INSTALL) insmod $(sbindir)
	$(INSTALL) rmmod $(sbindir)
endif
	
install install-bin: all install-insmod-rmmod
	$(INSTALL) lsmod $(sbindir)
	$(INSTALL) ksyms $(sbindir)
	$(INSTALL) modinfo $(sbindir)

dep depend:
	gcc -M $(CFLAGS) $(DEFS) *.c > .depend

ifeq (.depend,$(wildcard .depend))
include .depend
endif
