# Very basic and very simple Makefile. Maybe it would be nice to make it
# in ac/am.... but I'm too lazy ;)
-#
-VERSION = 2.4.13
+#
+VERSION = 2.10.0
CC = gcc
-OPT_FLAGS = -O2 -g
-CFLAGS = $(OPT_FLAGS) -Wall
-INSTALL = install
+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
SHRCDIR = $(ETCDIR)/shrc.d
#########################################
-BIN_FILES = joinpasswd
+BIN_FILES = joinpasswd update-fstab postshell delpasswd
DOCS = ChangeLog
-ETC_FILES = filesystems fstab group host.conf hosts motd mtab \
+ETC_FILES = filesystems fstab group host.conf hosts motd \
netgroup passwd profile protocols resolv.conf securetty \
- services shells suid_profile
-PROFILE_FILES = tmp-dir.csh tmp-dir.sh
+ 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
+SOURCES = joinpasswd.c update-fstab.c postshell.c delpasswd.c
CLEAN = $(BIN_FILES) *.o core *.tar.gz *.tar.bz2 *~ *.swp
#########################################
-all: joinpasswd
+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)
+ cd etc && rm -f $(CLEAN)
+ cd etc/profile.d && rm -f $(CLEAN)
-install:
+install: $(BIN_FILES)
$(INSTALL) -d $(DESTDIR)/$(SBINDIR)
$(INSTALL) -d $(DESTDIR)/$(ETCDIR)
$(INSTALL) -d $(DESTDIR)/$(PROFILEDIR)
- $(INSTALL) -d $(DESTDIR)/$(ENVDIR)
+ $(INSTALL) -d $(DESTDIR)/$(ENVDIR)
+ $(INSTALL) -d $(DESTDIR)/$(SHRCDIR)
$(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)
+ cd etc && $(INSTALL) -m644 $(ETC_FILES) $(DESTDIR)/$(ETCDIR)
+ ln -sf /proc/self/mounts $(DESTDIR)/$(ETCDIR)/mtab
+ cd etc/profile.d && $(INSTALL) -m755 $(PROFILE_FILES) $(DESTDIR)/$(PROFILEDIR)
+ cd etc/env.d && $(INSTALL) -m644 $(ENV_FILES) $(DESTDIR)/$(ENVDIR)
+ cd etc/shrc.d && $(INSTALL) -m644 $(SHRC_FILES) $(DESTDIR)/$(SHRCDIR)
-dist: clean
-
+dist: changelog clean
$(INSTALL) -d setup-$(VERSION)/etc/profile.d
$(INSTALL) -d setup-$(VERSION)/etc/env.d
$(INSTALL) -d setup-$(VERSION)/etc/shrc.d
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"