aboutsummaryrefslogtreecommitdiff
path: root/riemann.fmi.uni-sofia.bg/programs/nlogin-0.3-pre/Makefile
blob: be7a58141be6fd44365fe102945b47561491410d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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:[email protected]:/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