# Very basic and very simple Makefile. Maybe it would be nice to make it # in ac/am.... but I'm too lazy ;) # VERSION = 2.9.0 CC = gcc OPT_FLAGS = -Wformat -Werror=format-security -fvar-tracking-assignments -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector -O2 -g2 -Wall CFLAGS = $(OPT_FLAGS) -Wall -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 INSTALL = install -p 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 \ netgroup passwd profile protocols resolv.conf securetty \ services shells suid_profile subgid subuid PROFILE_FILES = 00-tmp-dir.csh 00-tmp-dir.sh ENV_FILES = EDITOR HISTFILESIZE HOME_ETC MAILCHECK MAILPATH \ NNTPSERVER ORGANIZATION TMOUT VISUAL SHRC_FILES = 256term.csh 256term.sh 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) -d $(DESTDIR)/$(SHRCDIR) $(INSTALL) $(BIN_FILES) $(DESTDIR)/$(SBINDIR) cd etc; $(INSTALL) $(ETC_FILES) $(DESTDIR)/$(ETCDIR) ln -sf /proc/self/mounts $(DESTDIR)/$(ETCDIR)/mtab cd etc/profile.d; $(INSTALL) $(PROFILE_FILES) $(DESTDIR)/$(PROFILEDIR) cd etc/env.d; $(INSTALL) $(ENV_FILES) $(DESTDIR)/$(ENVDIR) cd etc/shrc.d; $(INSTALL) $(SHRC_FILES) $(DESTDIR)/$(SHRCDIR) 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 for file in $(SHRC_FILES); do \ $(INSTALL) -m644 etc/shrc.d/$$file setup-$(VERSION)/etc/shrc.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; mput setup-$(VERSION).tar.bz2"