# Makefile for quota utilities
#Configuration
RPC=1
RPC_SERVER=1
EXT2_DIRECT=1
#end of configuration

CC = gcc
INCLUDE = common.h quota_io.h quotasys.h
OBJS = quota_io.o quotasys.o common.o setquota.o convertquota.o quotadebug.o quotaon.o quota.o repquota.o quotacheck.o edquota.o 
LIBOBJS = quota_io.o quotasys.o common.o
DIR = quota-3.00
CFLAGS = -Wall -O2 -g
#CFLAGS = -Wall -O2
ifeq ($(RPC),1)
  CFLAGS += -DRPC
endif

ifeq ($(EXT2_DIRECT),1)
  CFLAGS += -DEXT2_DIRECT
endif

PROGS = setquota convertquota quotadebug quotaon quotastats quota repquota quotacheck edquota
ifeq ($(RPC_SERVER),1)
  PROGS += rpc.rquotad
endif

.PHONY : all clean dist

all: $(PROGS)

$(OBJS): $(INCLUDE)

setquota: setquota.o $(LIBOBJS)

convertquota: convertquota.o $(LIBOBJS)

quotadebug: quotadebug.o $(LIBOBJS)

quotaon: quotaon.o quotasys.o common.o

repquota: repquota.o $(LIBOBJS)

quotastats: quotastats.c

edquota: edquota.o $(LIBOBJS)

rpc.rquotad: rquota_server.o rquota_svc.o rquota_xdr.o $(LIBOBJS) rquota.h
	$(CC) $(LDFLAGS) -o $@ rquota_server.o rquota_svc.o rquota_xdr.o $(LIBOBJS) -lbsd

ifeq ($(RPC),0)
quota: quota.o quotasys.o common.o
else
quota: quota.o quotasys.o common.o rquota_clnt.o rquota_xdr.o rquota.h
	$(CC) $(LDFLAGS) -o $@ quota.o quotasys.o common.o rquota_clnt.o rquota_xdr.o
endif

ifeq ($(EXT2_DIRECT),0)
quotacheck: quotacheck.o $(LIBOBJS)
else
quotacheck: quotacheck.o $(LIBOBJS)
	$(CC) $(LDFLAGS) -o $@ quotacheck.o $(LIBOBJS) -lext2fs -lcom_err
endif

clean:
	rm -f *.o $(PROGS)

dist:
	cd ..; tar czvvf $(DIR).tar.gz $(DIR)/*.[ch123456789] $(DIR)/rquota.x $(DIR)/Makefile

