1
2
3
4
5
6
7
8
9
10
|
#------------------------------------------------------------- -*- makefile -*-
#
# Makefile for TclTLS extensions.
#
# Basic build, test and install
# nmake /f makefile.vc INSTALLDIR=c:\path\to\tcl
# nmake /f makefile.vc INSTALLDIR=c:\path\to\tcl test
# nmake /f makefile.vc INSTALLDIR=c:\path\to\tcl install
#
# For other build options (debug, static etc.),
|
|
|
1
2
3
4
5
6
7
8
9
10
|
#------------------------------------------------------------- -*- makefile -*-
#
# Makefile for TCL TLS extension
#
# Basic build, test and install
# nmake /f makefile.vc INSTALLDIR=c:\path\to\tcl
# nmake /f makefile.vc INSTALLDIR=c:\path\to\tcl test
# nmake /f makefile.vc INSTALLDIR=c:\path\to\tcl install
#
# For other build options (debug, static etc.),
|
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
PRJ_OBJS = $(TMP_DIR)\tls.obj \
$(TMP_DIR)\tlsBIO.obj \
$(TMP_DIR)\tlsIO.obj \
$(TMP_DIR)\tlsX509.obj
# Define any additional project include flags
# SSL_INSTALL_FOLDER = with the OpenSSL installation folder following.
PRJ_INCLUDES = -I"$(SSL_INSTALL_FOLDER)\include" -I"$(OPENSSL_INSTALL_DIR)\include"
# Define any additional compiler flags that might be required for the project
PRJ_DEFINES = -D NO_SSL2 -D NO_SSL3 -D _CRT_SECURE_NO_WARNINGS
#
# SSL Libs:
# 1. ${LIBCRYPTO}.dll
|
|
|
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
PRJ_OBJS = $(TMP_DIR)\tls.obj \
$(TMP_DIR)\tlsBIO.obj \
$(TMP_DIR)\tlsIO.obj \
$(TMP_DIR)\tlsX509.obj
# Define any additional project include flags
# SSL_INSTALL_FOLDER = with the OpenSSL installation folder following.
PRJ_INCLUDES = -I"$(SSL_INSTALL_FOLDER)\include" -I"$(OPENSSL_INSTALL_DIR)\include" -I"$(TMP_DIR)"
# Define any additional compiler flags that might be required for the project
PRJ_DEFINES = -D NO_SSL2 -D NO_SSL3 -D _CRT_SECURE_NO_WARNINGS
#
# SSL Libs:
# 1. ${LIBCRYPTO}.dll
|
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
|
!include "targets.vc"
# Project specific targets
all: default-target
clean: default-clean
@if exist $(WIN_DIR)\tlsUuid.h del $(WIN_DIR)\tlsUuid.h
realclean: default-hose
@if exist $(WIN_DIR)\tlsUuid.h del $(WIN_DIR)\tlsUuid.h
# We must define a pkgindex target that will create a pkgIndex.tcl
# file in the $(OUT_DIR) directory. We can just redirect to the
# default-pkgindex target for our sample extension.
pkgindex: default-pkgindex-tea
$(ROOT)\manifest.uuid:
copy $(WIN_DIR)\gitmanifest.in $(ROOT)\manifest.uuid
git rev-parse HEAD >>$(ROOT)\manifest.uuid
$(WIN_DIR)\tlsUuid.h: $(ROOT)\manifest.uuid
copy $(WIN_DIR)\tlsUuid.h.in+$(ROOT)\manifest.uuid $(WIN_DIR)\tlsUuid.h
# The default install target only installs binaries and scripts so add
# an additional target for our documentation. Note this *adds* a target
# since no commands are listed after it. The original targets for
# install (from targets.vc) will remain.
install: default-pkgindex-tea default-install default-install-docs-html
if exist "$(SSL_INSTALL_FOLDER)\bin\libcrypto-*-x64.dll" (
xcopy /c /y "$(SSL_INSTALL_FOLDER)\bin\libcrypto-*-x64.dll" "$(PRJ_INSTALL_DIR)"
)
if exist "$(SSL_INSTALL_FOLDER)\bin\libssl-*-x64.dll" (
xcopy /c /y "$(SSL_INSTALL_FOLDER)\bin\libssl-*-x64.dll" "$(PRJ_INSTALL_DIR)"
)
# Explicit dependency rules
$(GENERICDIR)\tls.c: $(WIN_DIR)\tlsUuid.h
# Test package
test: default-test
|
<
<
>
|
>
>
|
>
>
|
>
>
|
|
>
|
|
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
|
!include "targets.vc"
# Project specific targets
all: default-target
clean: default-clean
realclean: default-hose
# We must define a pkgindex target that will create a pkgIndex.tcl
# file in the $(OUT_DIR) directory. We can just redirect to the
# default-pkgindex target for our sample extension.
pkgindex: default-pkgindex-tea
$(ROOT)\manifest.uuid:
if not exist $(ROOT)\manifest.uuid (
copy $(WIN_DIR)\gitmanifest.in $(ROOT)\manifest.uuid
where git
if ERRORLEVEL 0 (
git rev-parse HEAD >>$(ROOT)\manifest.uuid
) else (
echo unknown >>$(ROOT)\manifest.uuid
)
)
$(TMP_DIR)\tlsUuid.h: $(ROOT)\manifest.uuid
copy $(WIN_DIR)\tlsUuid.h.in+$(ROOT)\manifest.uuid $(TMP_DIR)\tlsUuid.h
echo: >>$(TMP_DIR)\tlsUuid.h
# The default install target only installs binaries and scripts so add
# an additional target for our documentation. Note this *adds* a target
# since no commands are listed after it. The original targets for
# install (from targets.vc) will remain.
install: default-pkgindex-tea default-install default-install-docs-html
if exist "$(SSL_INSTALL_FOLDER)\bin\libcrypto-*-x64.dll" (
xcopy /c /y "$(SSL_INSTALL_FOLDER)\bin\libcrypto-*-x64.dll" "$(PRJ_INSTALL_DIR)"
)
if exist "$(SSL_INSTALL_FOLDER)\bin\libssl-*-x64.dll" (
xcopy /c /y "$(SSL_INSTALL_FOLDER)\bin\libssl-*-x64.dll" "$(PRJ_INSTALL_DIR)"
)
# Explicit dependency rules
$(GENERICDIR)\tls.c: $(TMP_DIR)\tlsUuid.h
# Test package
test: default-test
|