f5c1a0d98b
Commit d512b25f69
added automake
conditionals to Makefile.inc but since Makefile.inc is included
from Makefile for all other build systems that does not work.
This commit instead adds Makefile.OpenSSL.inc and Makefile.libgcrypt.inc
and moves the automake conditional to its proper place, src/Makefile.am.
The automake conditional includes the correct Makefile.$name.inc per
the crypto library selection/detection done by configure.
All non-autotools build system files in libssh2 are hardcoded to use
OpenSSL and do not get a conditional but at least there is some reuse
because they can all include the new Makefile.OpenSSL.inc.
182 lines
4.0 KiB
Makefile
182 lines
4.0 KiB
Makefile
#
|
|
# Watcom / OpenWatcom Win32 makefile for libssh2.
|
|
#
|
|
# Comments to: Guenter Knauf http://www.gknw.net/phpbb
|
|
#
|
|
|
|
!ifndef %watcom
|
|
!error WATCOM environment variable not set!
|
|
!else
|
|
SYS_INCL = -I$(%watcom)\h\nt -I$(%watcom)\h
|
|
SYS_LIBS = $(%watcom)\lib386\nt;$(%watcom)\lib386
|
|
!endif
|
|
|
|
!ifdef %libname
|
|
LIBNAME = $(%libname)
|
|
!else
|
|
LIBNAME = libssh2
|
|
!endif
|
|
TARGETS = $(LIBNAME).dll $(LIBNAME)_imp.lib $(LIBNAME).lib
|
|
|
|
CC = wcc386
|
|
LD = wlink
|
|
AR = wlib
|
|
RC = wrc
|
|
|
|
!ifdef __LOADDLL__
|
|
! loaddll wcc386 wccd386
|
|
! loaddll wpp386 wppd386
|
|
! loaddll wlib wlibd
|
|
! if $(__VERSION__) > 1270
|
|
! loaddll wlink wlinkd
|
|
! else
|
|
! loaddll wlink wlink
|
|
! endif
|
|
!endif
|
|
|
|
!if $(__VERSION__) < 1250
|
|
RM = del /q /f 2>NUL
|
|
!else
|
|
RM = rm -f
|
|
!endif
|
|
MD = mkdir
|
|
RD = rmdir /q /s 2>NUL
|
|
CP = copy
|
|
|
|
CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -zc -s -fr=nul -w2 -fpi -oilrtfm &
|
|
-wcd=201 -bt=nt -d+ -dWIN32 -DLIBSSH2_WIN32 &
|
|
-I. -I..\include $(SYS_INCL)
|
|
|
|
!ifdef %debug
|
|
DEBUG = -dDEBUG=1 -dDEBUGBUILD
|
|
CFLAGS += -d3 $(DEBUG)
|
|
!else
|
|
CFLAGS += -d0
|
|
!endif
|
|
|
|
!ifdef %use_ipv6
|
|
CFLAGS += -d_WIN32_WINNT=0x0501 -dENABLE_IPV6
|
|
!endif
|
|
|
|
#
|
|
# Change to suite.
|
|
#
|
|
!ifdef %zlib_root
|
|
ZLIB_ROOT = $(%zlib_root)
|
|
!else
|
|
ZLIB_ROOT = ..\..\zlib-1.2.7
|
|
!endif
|
|
|
|
!ifdef %openssl_root
|
|
OPENSSL_ROOT = $(%openssl_root)
|
|
!else
|
|
OPENSSL_ROOT = ..\..\openssl-0.9.8y
|
|
!endif
|
|
|
|
#!ifdef %use_zlib
|
|
CFLAGS += -dHAVE_ZLIB_H -dHAVE_LIBZ -I$(ZLIB_ROOT)
|
|
#!endif
|
|
|
|
#!ifdef %use_ssl
|
|
CFLAGS += -wcd=138 -dUSE_OPENSSL -dUSE_SSLEAY -I$(OPENSSL_ROOT)\inc32
|
|
#!endif
|
|
|
|
!ifdef %use_watt32
|
|
CFLAGS += -dUSE_WATT32 -I$(%watt_root)\inc
|
|
!endif
|
|
|
|
OBJ_BASE = WC_Win32.obj
|
|
LINK_ARG = $(OBJ_BASE)\dyn\wlink.arg
|
|
LIB_ARG = $(OBJ_BASE)\stat\wlib.arg
|
|
|
|
# In order to process Makefile.inc wmake must be called with -u switch!
|
|
!ifndef %MAKEFLAGS
|
|
!error You MUST call wmake with the -u switch!
|
|
!else
|
|
# only OpenSSL is supported with this build system
|
|
!include ..\Makefile.OpenSSL.inc
|
|
!include ..\Makefile.inc
|
|
!endif
|
|
|
|
OBJS = $(CSOURCES:.c=.obj)
|
|
OBJS = $OBJ_DIR\$(OBJS: = $OBJ_DIR\)
|
|
|
|
#
|
|
# Use $(OBJS) as a template to generate $(OBJS_STAT) and $(OBJS_DYN).
|
|
#
|
|
OBJ_DIR = $(OBJ_BASE)\stat
|
|
OBJS_STAT = $+ $(OBJS) $-
|
|
|
|
OBJ_DIR = $(OBJ_BASE)\dyn
|
|
OBJS_DYN = $+ $(OBJS) $-
|
|
|
|
RESOURCE = $(OBJ_BASE)\dyn\libssh2.res
|
|
|
|
.c: ..\src
|
|
|
|
|
|
all: $(OBJ_BASE) $(TARGETS) .SYMBOLIC
|
|
@echo Welcome to libssh2
|
|
|
|
clean: .SYMBOLIC
|
|
-$(RM) $(OBJS_STAT)
|
|
-$(RM) $(OBJS_DYN)
|
|
-$(RM) $(RESOURCE) $(LINK_ARG) $(LIB_ARG)
|
|
|
|
vclean realclean: clean .SYMBOLIC
|
|
-$(RM) $(TARGETS) $(LIBNAME).map $(LIBNAME).sym
|
|
-$(RD) $(OBJ_BASE)\stat
|
|
-$(RD) $(OBJ_BASE)\dyn
|
|
-$(RD) $(OBJ_BASE)
|
|
|
|
$(OBJ_BASE):
|
|
-$(MD) $^@
|
|
-$(MD) $^@\stat
|
|
-$(MD) $^@\dyn
|
|
|
|
$(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(LINK_ARG)
|
|
$(LD) name $^@ @$]@
|
|
|
|
$(LIBNAME).lib: $(OBJS_STAT) $(LIB_ARG)
|
|
$(AR) -q -b -c $^@ @$]@
|
|
|
|
.ERASE
|
|
$(RESOURCE): libssh2.rc
|
|
$(RC) $(DEBUG) -q -r -zm -I..\include $(SYS_INCL) $[@ -fo=$^@
|
|
|
|
.ERASE
|
|
.c{$(OBJ_BASE)\dyn}.obj:
|
|
$(CC) $(CFLAGS) -bd -br $[@ -fo=$^@
|
|
|
|
.ERASE
|
|
.c{$(OBJ_BASE)\stat}.obj:
|
|
$(CC) $(CFLAGS) $[@ -fo=$^@
|
|
|
|
$(LINK_ARG): $(__MAKEFILES__)
|
|
%create $^@
|
|
@%append $^@ system nt dll
|
|
@%append $^@ file { $(OBJS_DYN) }
|
|
!ifdef %debug
|
|
@%append $^@ debug all
|
|
@%append $^@ option symfile
|
|
!endif
|
|
@%append $^@ option quiet, map, caseexact, eliminate, implib=$(LIBNAME)_imp.lib,
|
|
@%append $^@ res=$(RESOURCE) libpath $(SYS_LIBS)
|
|
!ifdef %use_watt32
|
|
@%append $^@ library $(%watt_root)\lib\wattcpw_imp.lib
|
|
!else
|
|
@%append $^@ library ws2_32.lib
|
|
!endif
|
|
#!ifdef %use_zlib
|
|
@%append $^@ library $(ZLIB_ROOT)\zlib.lib
|
|
#!endif
|
|
#!ifdef %use_ssl
|
|
@%append $^@ library $(OPENSSL_ROOT)\out32\libeay32.lib, $(OPENSSL_ROOT)\out32\ssleay32.lib
|
|
#!endif
|
|
|
|
$(LIB_ARG): $(__MAKEFILES__)
|
|
%create $^@
|
|
@for %f in ($(OBJS_STAT)) do @%append $^@ +- %f
|
|
|
|
|