# Very basic and very simple Makefile. Maybe it would be nice to make it
# in ac/am.... but I'm too lazy ;)
#
VERSION		= 2.7.2

CC		= gcc
OPT_FLAGS	= -O2 -g
CFLAGS		= $(OPT_FLAGS) -Wall
INSTALL		= install
SBINDIR		= /sbin
ETCDIR		= /etc
PROFILEDIR	= $(ETCDIR)/profile.d
ENVDIR		= $(ETCDIR)/env.d
SHRCDIR		= $(ETCDIR)/shrc.d
#########################################

BIN_FILES	= joinpasswd update-fstab postshell delpasswd
DOCS		= ChangeLog
ETC_FILES	= filesystems fstab group host.conf hosts motd mtab \
	    netgroup passwd profile protocols resolv.conf securetty \
	    services shells suid_profile
PROFILE_FILES	= tmp-dir.csh tmp-dir.sh
ENV_FILES	= EDITOR HISTFILESIZE HOME_ETC MAILCHECK MAILPATH \
	    NNTPSERVER ORGANIZATION TMOUT VISUAL

SOURCES		= joinpasswd.c update-fstab.c postshell.c delpasswd.c
CLEAN		= $(BIN_FILES) *.o core *.tar.gz *.tar.bz2 *~ *.swp

#########################################
all: $(BIN_FILES)

joinpasswd: joinpasswd.o
update-fstab: update-fstab.o
postshell: postshell.o
delpasswd: delpasswd.o

.c.o:
	$(CC) $(CPPFLAGS) $(CFLAGS) $(CDEFS) -c $< -o $@

clean:
	rm -f $(CLEAN)
	cd etc; rm -f $(CLEAN)
	cd etc/profile.d; rm -f $(CLEAN)

install:
	$(INSTALL) -d $(DESTDIR)/$(SBINDIR)
	$(INSTALL) -d $(DESTDIR)/$(ETCDIR)
	$(INSTALL) -d $(DESTDIR)/$(PROFILEDIR)
	$(INSTALL) -d  $(DESTDIR)/$(ENVDIR)
	$(INSTALL) $(BIN_FILES) $(DESTDIR)/$(SBINDIR)
	cd etc; $(INSTALL) $(ETC_FILES) $(DESTDIR)/$(ETCDIR)
	cd etc/profile.d; $(INSTALL) $(PROFILE_FILES) $(DESTDIR)/$(PROFILEDIR)
	cd etc/env.d; $(INSTALL) $(ENV_FILES) $(DESTDIR)/$(ENVDIR)

dist: changelog clean
	$(INSTALL) -d setup-$(VERSION)/etc/profile.d
	$(INSTALL) -d setup-$(VERSION)/etc/env.d
	$(INSTALL) -d setup-$(VERSION)/etc/shrc.d
	$(INSTALL) $(DOCS) $(SOURCES) Makefile setup-$(VERSION)
	for file in $(ETC_FILES); do \
		$(INSTALL) -m644 etc/$$file setup-$(VERSION)/etc; \
	done
	for file in $(PROFILE_FILES); do \
		$(INSTALL) -m755 etc/profile.d/$$file setup-$(VERSION)/etc/profile.d; \
	done
	for file in $(ENV_FILES); do \
		$(INSTALL) -m644 etc/env.d/$$file setup-$(VERSION)/etc/env.d; \
	done
	tar -cvjf setup-$(VERSION).tar.bz2 setup-$(VERSION)
	rm -rf setup-$(VERSION)

changelog:
	#./changelog.sh

tag:
	cvs tag setup-$(shell echo $(VERSION) | tr . _)

distfiles: dist
	lftp -c "open dropin.pld-linux.org; mput setup-$(VERSION).tar.bz2"
