![Peter Stuge](/assets/img/avatar_default.png)
Commit d512b25f69a1b6778881f6b4b5ff9cfc6023be42 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
|
|
|
|
|