aboutsummaryrefslogtreecommitdiff
path: root/Makefile.Windows
blob: ef14d45e784f810feba133e6c29dd8ae117bbc06 (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
CC= gcc
DLLWRAP=dllwrap.exe
DEFFILE=libssh.def
STATICLIB=libssh.a
LIB="c:\Program files\Microsoft Visual Studio .NET 2003\vc7\bin\lib.exe"
INCS= -I. -Iinclude -Ic:/openssl/include -I"c:\Program files\gnuwin32\include"
CFLAGS= $(INCS)
LINK= -L. c:/openssl/lib/MinGW/libeay32.a  "c:\program files\gnuwin32\lib\libz.a" c:\Dev-cpp\lib\libws2_32.a #-lws2_32 ##-lgdi32 -lshell32

libssh_HEADERS= config.h include/libssh/crypto.h include/libssh/libssh.h include/libssh/priv.h include/libssh/server.h include/libssh/sftp.h include/libssh/ssh1.h include/libssh/ssh2.h
libssh_OBJS = libssh/auth1.o libssh/auth.o libssh/base64.o libssh/buffer.o	\
		 libssh/channels1.o libssh/channels.o libssh/client.o libssh/connect.o	\
		 libssh/crc32.o libssh/crypt.o libssh/dh.o libssh/error.o libssh/gcrypt_missing.o	\
		 libssh/gzip.o libssh/init.o libssh/kex.o libssh/keyfiles.o	\
		 libssh/keys.o libssh/messages.o libssh/misc.o libssh/options.o	\
		 libssh/packet.o libssh/server.o libssh/session.o libssh/sftp.o	\
		 libssh/sftpserver.o libssh/string.o libssh/wrapper.o libssh/socket.o \
		 libssh/log.o


all: libssh.dll samplesshd.exe libssh.lib

config.h: config.h.win32-openssl
	copy config.h.win32-openssl config.h

%.o: %.c $(libssh_HEADERS)
	$(CC) -c $< -o $@ $(CFLAGS)

sample.exe: sample.o $(libssh_OBJS)
	$(CC) $< -o $@ $(libssh_OBJS) $(LINK)
samplesshd.exe: samplesshd.o $(libssh_OBJS)
	$(CC) $< -o $@ $(libssh_OBJS) $(LINK)

libssh.dll: $(libssh_OBJS)
#	$(CC) -shared $(libssh_OBJS) -o libssh.dll $(LINK)
	$(DLLWRAP) --export-all-symbols --output-def $(DEFFILE) --implib $(STATICLIB) $(libssh_OBJS) $(LINK)  -o libssh.dll 

libssh.lib: libssh.dll
	lib.bat
clean:
	rm -f $(libssh_OBJS) samplesshd.exe sample.exe samplesshd.o sample.o libssh.dll config.h