1#-----------------------------------------------------------------------------
2#
3# LibNcFTP makefile for the platform @OS@, on the host @host@.
4#
5#-----------------------------------------------------------------------------
6PKGNAME=libncftp
7VERSION=3.0.1
8PREFIX=@prefix@
9
10CC=@CC@
11CFLAGS=@CFLAGS@
12#CC=gcc
13#CFLAGS=-g -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wbad-function-cast -Wwrite-strings -Wconversion
14VPATH=@srcdir@
15CPPFLAGS=-I. -I../Strn -I../sio @CPPFLAGS@
16
17LIB=libncftp.a
18LIBSO=libncftp.so.2
19LIBSOS=libncftp.so
20
21# Any -D definitions:
22DEFS=@DEFS@@NDEFS@
23
24CFILES=open.c cmds.c util.c rcmd.c ftp.c io.c errno.c linelist.c glob.c
25OBJS=open.o cmds.o util.o rcmd.o ftp.o io.o errno.o linelist.o glob.o
26SOBJS=open.so cmds.so util.so rcmd.so ftp.so io.so errno.so linelist.so glob.so
27
28# LIBSET=@LIBSET@
29LIBSET=$(LIB)
30
31SHELL=/bin/sh
32.SUFFIXES: .c .o .so
33
34all: $(LIBSET)
35	( cd ../sio ; $(MAKE) )
36	( cd ../Strn ; $(MAKE) )
37	-[ -d ./samples/minincftp ] && cd ./samples/minincftp && $(MAKE)
38	-[ -d ./samples/misc ] && cd ./samples/misc && $(MAKE)
39	-[ -d ./samples/monkey ] && cd ./samples/monkey && $(MAKE)
40	-[ -d ./samples/ncftpget ] && cd ./samples/ncftpget && $(MAKE)
41	-[ -d ./samples/ncftpls ] && cd ./samples/ncftpls && $(MAKE)
42	-[ -d ./samples/ncftpput ] && cd ./samples/ncftpput && $(MAKE)
43	-[ -d ./samples/ncftpsyncput ] && cd ./samples/ncftpsyncput && $(MAKE)
44	@echo 'Done.'
45
46$(LIB): $(OBJS)
47	-@/bin/rm -f $(LIB)
48	ar rv $(LIB) $(OBJS)
49	-@chmod 644 $(LIB)
50	-@@RANLIB@ $(LIB)
51	@/bin/ls -l $(LIB)
52
53shared: $(LIBSO)
54
55so: $(LIBSO)
56
57$(LIBSO): $(SOBJS)
58	/bin/rm -f $(LIBSO) $(LIBSOS)
59	gcc -shared -Wl,-soname,$(LIBSO) -o $(LIBSO) $(SOBJS)
60	/bin/ln -s $(LIBSO) $(LIBSOS)
61	-@/bin/ls -l $(LIBSOS) $(LIBSO)
62
63soinstall: $(LIBSO)
64	[ -d "$(PREFIX)/lib" ] || mkdir -m 755 "$(PREFIX)/lib"
65	[ -d "$(PREFIX)/include" ] || mkdir -m 755 "$(PREFIX)/include"
66	cp $(LIBSO) $(PREFIX)/lib/$(LIBSO)
67	( cd $(PREFIX)/lib ; /bin/rm -f $(LIBSOS) ; /bin/ln -s $(LIBSO) $(LIBSOS) )
68	cp ncftp.h ncftp_errno.h $(PREFIX)/include
69	-chmod a+r $(PREFIX)/lib/$(LIBSO) $(PREFIX)/include/ncftp.h $(PREFIX)/include/ncftp_errno.h
70
71install: $(LIB)
72	[ -d "$(PREFIX)/lib" ] || mkdir -m 755 "$(PREFIX)/lib"
73	[ -d "$(PREFIX)/include" ] || mkdir -m 755 "$(PREFIX)/include"
74	cp $(LIB) $(PREFIX)/lib/$(LIB)
75	cp ncftp.h ncftp_errno.h $(PREFIX)/include
76	-chmod a+r $(LIB) $(PREFIX)/lib/$(LIB) $(PREFIX)/include/ncftp.h $(PREFIX)/include/ncftp_errno.h
77	( cd ../sio ; $(MAKE) "PREFIX=$(PREFIX)" install )
78	( cd ../Strn ; $(MAKE) "PREFIX=$(PREFIX)" install )
79
80install_samples:
81	( cd ./samples ; $(MAKE) install )
82
83.c.o:
84	$(CC) $(CFLAGS) $(DEFS) $(CPPFLAGS) $< -c
85
86.c.so:
87	$(CC) -fpic $(CFLAGS) $(CPPFLAGS) $(DEFS) $*.c -c -o $*.so
88
89test: test.c $(OBJS)
90	$(CC) $(CFLAGS) $(DEFS) $(CPPFLAGS) test.c $(OBJS) -o test $(LDFLAGS) $(LIBS)
91
92### Archiving #################################################################
93
94TARDIR=libncftp-$(VERSION)
95TMPDIR=/tmp
96STGZFILE=libncftp-$(VERSION)-src.tar.gz
97
98gz sgz: $(PACKAGE)
99	./mksrctar.sh $(TARDIR) $(STGZFILE)
100
101### Cleaning supplies ########################################################
102
103clean:
104	-/bin/rm -f $(OBJS) $(SOBJS) core $(LIB) $(LIBSO) $(LIBSOS)
105	-[ -d ./samples/minincftp ] && cd ./samples/minincftp && $(MAKE) clean
106	-[ -d ./samples/monkey ] && cd ./samples/monkey && $(MAKE) clean
107	-[ -d ./samples/ncftpget ] && cd ./samples/ncftpget && $(MAKE) clean
108	-[ -d ./samples/ncftpls ] && cd ./samples/ncftpls && $(MAKE) clean
109	-[ -d ./samples/ncftpput ] && cd ./samples/ncftpput && $(MAKE) clean
110	-[ -d ./samples/ncftpsyncput ] && cd ./samples/ncftpsyncput && $(MAKE) clean
111	( sleep 2 ; cd ../sio ; $(MAKE) clean )
112	( sleep 2 ; cd ../Strn ; $(MAKE) clean )
113
114### Dependencies #############################################################
115
116dep:
117	gcc -MM $(CPPFLAGS) $(CFILES)
118
119open.o: open.c syshdrs.h ncftp.h ncftp_errno.h util.h ftp.h
120open.so: open.c syshdrs.h ncftp.h ncftp_errno.h util.h ftp.h
121
122cmds.o: cmds.c syshdrs.h ncftp.h ncftp_errno.h util.h ftp.h
123cmds.so: cmds.c syshdrs.h ncftp.h ncftp_errno.h util.h ftp.h
124
125util.o: util.c syshdrs.h ncftp.h ncftp_errno.h util.h
126util.so: util.c syshdrs.h ncftp.h ncftp_errno.h util.h
127
128rcmd.o: rcmd.c syshdrs.h ncftp.h ncftp_errno.h util.h ftp.h
129rcmd.so: rcmd.c syshdrs.h ncftp.h ncftp_errno.h util.h ftp.h
130
131ftp.o: ftp.c syshdrs.h ncftp.h ncftp_errno.h ftp.h util.h
132ftp.so: ftp.c syshdrs.h ncftp.h ncftp_errno.h ftp.h util.h
133
134io.o: io.c syshdrs.h ncftp.h ncftp_errno.h util.h ftp.h
135io.so: io.c syshdrs.h ncftp.h ncftp_errno.h util.h ftp.h
136
137errno.o: errno.c syshdrs.h ncftp.h ncftp_errno.h
138errno.so: errno.c syshdrs.h ncftp.h ncftp_errno.h
139
140linelist.o: linelist.c syshdrs.h ncftp.h ncftp_errno.h util.h
141linelist.so: linelist.c syshdrs.h ncftp.h ncftp_errno.h util.h
142
143glob.o: glob.c syshdrs.h ncftp.h ncftp_errno.h util.h
144glob.so: glob.c syshdrs.h ncftp.h ncftp_errno.h util.h
145