File: Makefile

package info (click to toggle)
ncftp 1%3A3.0beta14-2
  • links: PTS
  • area: main
  • in suites: slink
  • size: 1,048 kB
  • ctags: 1,268
  • sloc: ansic: 18,654; makefile: 481; sh: 9
file content (112 lines) | stat: -rw-r--r-- 2,850 bytes parent folder | download
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
104
105
106
107
108
109
110
111
112
#
# Strn makefile
#
PREFIX=/usr/local
MAN=/usr/local/man
SHELL=/bin/sh
.SUFFIXES: .c .o .so
LIB=libStrn.a
LIBSO=libStrn.so.1
LIBSOS=libStrn.so
CC=cc
CPPFLAGS=
#CFLAGS=-O2
CFLAGS=-O2 -W -Wall -Wimplicit -Wstrict-prototypes -Wmissing-prototypes
DEFS=-DSTRNP_ZERO_PAD=0 -DSTRN_ZERO_PAD=1

OBJS=Strncpy.o Strncat.o Strntok.o Strnpcpy.o Strnpcat.o strtokc.o version.o
SOBJS=Strncpy.so Strncat.so Strntok.so Strnpcpy.so Strnpcat.so strtokc.so version.so

all: static
	-@echo "Done making Strn."

static: $(LIB)

$(LIB): Strncpy.o Strncat.o Strntok.o Strnpcpy.o Strnpcat.o strtokc.o version.o
	ar rv $(LIB) Strncpy.o Strncat.o Strntok.o Strnpcpy.o Strnpcat.o strtokc.o version.o
	chmod 644 $(LIB) Strn.h
	-ranlib $(LIB)
	/bin/ls -l $(LIB)

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

.c.so:
	$(CC) -fpic $(CFLAGS) $(CPPFLAGS) $(DEFS) $*.c -c -o $*.so

dynamic: $(LIBSO)

shared: $(LIBSO)

so: $(LIBSO)

$(LIBSO): $(SOBJS)
	/bin/rm -f $(LIBSO)
	gcc -shared -Wl,-soname,$(LIBSO) -o $(LIBSO) $(SOBJS)
	/bin/ln -s $(LIBSO) $(LIBSOS)
	-@/bin/ls -l $(LIBSOS) $(LIBSO)

soinstall: $(LIBSO)
	cp $(LIBSO) $(PREFIX)/lib/$(LIBSO)
	( cd $(PREFIX)/lib ; /bin/ln -s $(LIBSO) $(LIBSOS) )
	cp Strn.h $(PREFIX)/include/Strn.h
	-chmod a+r $(PREFIX)/lib/$(LIBSO) $(PREFIX)/include/Strn.h

tester: $(LIB) tester.c
	$(CC) $(CFLAGS) tester.c -o tester -I. -L. -lStrn

clean:
	/bin/rm -f $(LIB) $(SOLIB) $(OBJS) $(SOBJS)

install:
	if test ! -d $(PREFIX)/include ; then mkdir -p $(PREFIX)/include ; fi
	if test ! -d $(PREFIX)/lib ; then mkdir -p $(PREFIX)/lib ; fi
	cp $(LIB) $(PREFIX)/lib/$(LIB)
	cp Strn.h $(PREFIX)/include/Strn.h
	-chmod 664 $(PREFIX)/include/Strn.h $(PREFIX)/lib/$(LIB)
	-cp Strn.3 $(MAN)/man3/Strn.3
	-chmod 664 $(MAN)/man3/Strn.3
	-ln $(MAN)/man3/Strn.3 $(MAN)/man3/Strncpy.3
	-ln $(MAN)/man3/Strn.3 $(MAN)/man3/Strncat.3

uninstall:
	/bin/rm -f $(PREFIX)/lib/$(LIB) $(PREFIX)/include/Strn.h

PACKAGE=Makefile Strncpy.c Strncat.c Strnpcpy.c Strnpcat.c Strntok.c strtokc.c Strn.h Strn.3 tester.c version.c

TMPDIR=/tmp
TARDIR=Strn
TARFILE=$(TARDIR).tar
TGZFILE=$(TARDIR).tgz

tarcp:
	-@mkdir -p $(TMPDIR)/TAR/$(TARDIR)
	-@chmod ga+r $(PACKAGE)
	-@chmod 755 $(TMPDIR)/TAR/$(TARDIR)
	cp -pr $(PACKAGE) $(TMPDIR)/TAR/$(TARDIR)

tar: $(PACKAGE)
	-@mkdir $(TMPDIR)/TAR
	-@mkdir $(TMPDIR)/TAR/$(TARDIR)
	-@chmod ga+r $(PACKAGE)
	-@chmod 755 $(TMPDIR)/TAR/$(TARDIR)
	cp -pr $(PACKAGE) $(TMPDIR)/TAR/$(TARDIR)
	( cd $(TMPDIR)/TAR ; tar cf $(TARFILE) ./$(TARDIR) )
	cp $(TMPDIR)/TAR/$(TARFILE) .
	-@chmod 644 $(TARFILE)
	-@rm -rf $(TMPDIR)/TAR
	-@ls -l $(TARFILE)

gz: tar
	gzip -c $(TARFILE) > $(TGZFILE)
	-@rm $(TARFILE)
	-@chmod 644 $(TGZFILE)
	-@ls -l $(TGZFILE)

Strncat.o: Strncat.c Strn.h
Strncpy.o: Strncpy.c Strn.h
Strnpcat.o: Strnpcat.c Strn.h
Strnpcpy.o: Strnpcpy.c Strn.h
Strntok.o: Strntok.c Strn.h
strtokc.o: strtokc.c Strn.h
version.o: version.c