PASSWD=/usr/bin/passwd
GPASSWD=/usr/bin/gpasswd
CHFN=/usr/bin/chfn
CHSH=/usr/bin/chsh
USERADD=/usr/sbin/useradd
USERDEL=/usr/sbin/userdel
USERMOD=/usr/sbin/usermod
GROUPADD=/usr/sbin/groupadd
GROUPDEL=/usr/sbin/groupdel
GROUPMOD=/usr/sbin/groupmod
VIPW=/usr/sbin/vipw

CFLAGS += -Wall -g -I/usr/local/selinux/include
LDFLAGS += -L/usr/local/selinux/lib
LIBS += -lsecure

PROGS = spasswd sadminpasswd suseradd suserdel svipw schfn schsh sgpasswd susermod \
	sgroupadd sgroupdel sgroupmod
DESTDIR = /usr/local/selinux/bin

all:  $(PROGS)

% : %.o
	$(CC) $(LDFLAGS) -o $@ $< $(LIBS)

spasswd.o: spasswd.c
	$(CC) $(CFLAGS) -DPASSWD=\"$(PASSWD)\" -c -o $@ $<

sadminpasswd.o: spasswd.c
	$(CC) $(CFLAGS) -DADMIN_USE -DPASSWD=\"$(PASSWD)\" -c -o $@ $<

suseradd.o: spasswd.c
	$(CC) $(CFLAGS) -DADMIN_USE -DPASSWD=\"$(USERADD)\" -c -o $@ $<

suserdel.o: spasswd.c
	$(CC) $(CFLAGS) -DADMIN_USE -DPASSWD=\"$(USERDEL)\" -c -o $@ $<

svipw.o: spasswd.c
	$(CC) $(CFLAGS) -DADMIN_USE -DPASSWD=\"$(VIPW)\" -c -o $@ $<

schfn.o: spasswd.c
	$(CC) $(CFLAGS) -DPASSWD=\"$(CHFN)\" -c -o $@ $<

schsh.o: spasswd.c
	$(CC) $(CFLAGS) -DPASSWD=\"$(CHSH)\" -c -o $@ $<

sgpasswd.o: spasswd.c
	$(CC) $(CFLAGS) -DADMIN_USE  -DPASSWD=\"$(GPASSWD)\" -c -o $@ $<

susermod.o: spasswd.c
	$(CC) $(CFLAGS) -DADMIN_USE  -DPASSWD=\"$(USERMOD)\" -c -o $@ $<

sgroupadd.o: spasswd.c
	$(CC) $(CFLAGS) -DADMIN_USE  -DPASSWD=\"$(GROUPADD)\" -c -o $@ $<

sgroupdel.o: spasswd.c
	$(CC) $(CFLAGS) -DADMIN_USE  -DPASSWD=\"$(GROUPDEL)\" -c -o $@ $<

sgroupmod.o: spasswd.c
	$(CC) $(CFLAGS) -DADMIN_USE  -DPASSWD=\"$(GROUPMOD)\" -c -o $@ $<

install: all
	install -m 555 -o root -g root $(PROGS) $(DESTDIR)

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

