SHELL=/bin/sh CC=gcc CFLAGS=-O2 -Wall -W LDFLAGS=-s CCC = $(CC) $(CFLAGS) CCL = $(CC) $(CFLAGS) $(LDFLAGS) STR = strip -R .comment -R .note ALL = nlogin nlogin-auth nlogin-tiny default: $(ALL) nlogin: nlogin.c lib.a ${CCL} -o $@ $^ @$(STR) $@ nlogin-%: nlogin-%.c lib.a ${CCL} -o $@ $^ @$(STR) $@ clean: rm -f $(ALL) *.o *.a *.s a.out *_defs.h install: $(ALL) install -d $(DESTDIR)/bin install -m755 $^ $(DESTDIR)/bin g_h = ./get_headers %_defs.h: %_*.c $(g_h) $@ -Gsys/types.h $^ > $@ str_defs.h: str_*.c $(g_h) $@ -Lbyte_defs.h -Lfmt_defs.h -Lscan_defs.h $^ > $@ time_defs.h: get_tz.c nv_ctime.c write_dev*.c $(g_h) $@ -Lstr_defs.h $^ > $@ parse_defs.h: __*.c $(g_h) $@ -Lstr_defs.h $^ > $@ utmp_defs.h: utmp_*.c safe_io.c log_do.c lastlog_do.c $(g_h) $@ -Ltime_defs.h $^ > $@ prot_defs.h: prot_*.c read_pass*.c pass_check.c $(g_h) $@ -Gsys/types.h -Lmd5.h $^ > $@ md5_defs.h: md5*.c $(g_h) $@ $^ > $@ pw_%_defs.h: nv_*%*.c $(g_h) $@ $^ > $@ pw_defs.h: $(g_h) $@ -Lstr_defs.h -Lpw_pw_defs.h -Lpw_gr_defs.h \ -Lpw_sp_defs.h $^ > $@ %.o: %.c config.h ${CCC} -c $< STR_O = $(patsubst %.c,%.o,$(wildcard str_*.c)) BYTE_O = $(patsubst %.c,%.o,$(wildcard byte_*.c)) SCAN_O = $(patsubst %.c,%.o,$(wildcard scan_*.c)) FMT_O = $(patsubst %.c,%.o,$(wildcard fmt_*.c)) PARSE_O = $(patsubst %.c,%.o,$(wildcard __*.c)) UTMP_O = $(patsubst %.c,%.o,$(wildcard *_io.c *_do.c *_devlog.c)) TIME_O = $(patsubst %.c,%.o,$(wildcard *ctime.c *_tz.c)) PASS_O = $(patsubst %.c,%.o,$(wildcard *pass*.c prot_*.c)) MD5_O = $(patsubst %.c,%.o,$(wildcard md5*.c)) PW_PW_O = $(patsubst %.c,%.o,$(wildcard nv_*pw*.c)) PW_GR_O = $(patsubst %.c,%.o,$(wildcard nv_*gr*.c)) PW_SP_O = $(patsubst %.c,%.o,$(wildcard nv_*sp*.c)) PW_O = $(PW_PW_O) $(PW_GR_O) $(PW_SP_O) str_%.o: str_defs.h fmt_%.o: fmt_defs.h scan_%.o: scan_defs.h byte_%.o: byte_defs.h nv_%gr%.o: pw_gr_defs.h nv_%pw%.o: pw_pw_defs.h nv_%sp%.o: pw_sp_defs.h md5%.o: md5_defs.h __%.o: parse_defs.h ALL_O = $(STR_O) $(BYTE_O) $(SCAN_O) $(FMT_O) $(PARSE_O) $(PW_O) \ $(PASS_O) $(MD5_O) $(UTMP_O) $(TIME_O) ALL_H = str_defs.h byte_defs.h scan_defs.h fmt_defs.h parse_defs.h \ pw_defs.h pw_pw_defs.h pw_gr_defs.h pw_sp_defs.h \ utmp_defs.h time_defs.h prot_defs.h md5_defs.h lib.a: $(ALL_H) $(ALL_O) ar cr lib.a $(ALL_O) MYARCH:=$(shell uname -m | sed -e 's/i[4-9]86/i386/' -e 's/armv[3-6]t\?e\?[lb]/arm/') dietlibc/bin-$(MYARCH)/diet: cvs -d :pserver:cvs@cvs.fefe.de:/cvs -z9 co dietlibc cd dietlibc && make dietbuild: dietlibc/bin-$(MYARCH)/diet DIETHOME=$(CURDIR)/dietlibc make \ CC="$(CURDIR)/$< -Os gcc -nostdinc -I$(CURDIR)/dietlibc/include" TAR=tar TAR_OPT= MY_NAME=$(notdir $(CURDIR)) tar: cd .. && $(TAR) -cvzf $(MY_NAME).tar.gz $(TAR_OPT) \ --owner=root --group=root --exclude dietlibc $(MY_NAME) packit: ( echo $(MY_NAME); date -u -R ) > Version make clean tar TAR=tar.f TAR_OPT=--sort