mirror of https://github.com/lukechilds/node.git
Browse Source
PR-URL: https://github.com/nodejs/node/pull/14955 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>canary-base
9 changed files with 455 additions and 423 deletions
@ -1,286 +1,286 @@ |
|||
#
|
|||
# GNU Makefile for nghttp2 / MSVC.
|
|||
#
|
|||
# By G. Vanem <gvanem@yahoo.no> 2013
|
|||
# Updated 3/2015 by Remo Eichenberger @remoe
|
|||
# The MIT License apply.
|
|||
#
|
|||
|
|||
#
|
|||
# Choose your weapons:
|
|||
# Set 'USE_CYTHON=1' to build and install the 'nghttp2.pyd' Python extension.
|
|||
#
|
|||
THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST)) |
|||
|
|||
USE_CYTHON := 0 |
|||
#USE_CYTHON := 1
|
|||
|
|||
_VERSION := $(shell grep AC_INIT ../configure.ac | cut -d'[' -f3 | sed -e 's/-DEV//g' -e 's/], //g') |
|||
_VERSION := $(subst ., ,$(_VERSION)) |
|||
VER_MAJOR := $(word 1,$(_VERSION)) |
|||
VER_MINOR := $(word 2,$(_VERSION)) |
|||
VER_MICRO := $(word 3,$(_VERSION)) |
|||
VERSION := $(VER_MAJOR).$(VER_MINOR).$(VER_MICRO) |
|||
VERSION_NUM := (($(VER_MAJOR) << 16) + ($(VER_MINOR) << 8) + $(VER_MICRO)) |
|||
|
|||
GENERATED := 'Generated by $(realpath Makefile.MSVC)' |
|||
|
|||
OBJ_DIR := MSVC_obj |
|||
#SUFFIX :=-vc90-mt-x86
|
|||
|
|||
#
|
|||
# Where to copy nghttp2.dll + lib + headers to.
|
|||
# Note: 'make install' is not in default targets. Do it explicitly.
|
|||
#
|
|||
TARGET_DIR ?= ../_VC_ROOT |
|||
VC_ROOT := $(abspath $(TARGET_DIR)) |
|||
INSTALL_BIN := $(VC_ROOT)/bin |
|||
INSTALL_LIB := $(VC_ROOT)/lib |
|||
INSTALL_HDR := $(VC_ROOT)/include |
|||
DLL_R := $(OBJ_DIR)/nghttp2$(SUFFIX).dll |
|||
DLL_D := $(OBJ_DIR)/nghttp2d$(SUFFIX).dll |
|||
LIB_R := $(OBJ_DIR)/nghttp2-static.lib |
|||
LIB_D := $(OBJ_DIR)/nghttp2d-static.lib |
|||
IMP_R := $(OBJ_DIR)/nghttp2.lib |
|||
IMP_D := $(OBJ_DIR)/nghttp2d.lib |
|||
|
|||
#
|
|||
# Build for DEBUG-model and RELEASE at the same time.
|
|||
#
|
|||
TARGETS := $(LIB_R) $(DLL_R) $(IMP_R) \
|
|||
$(LIB_D) $(DLL_D) $(IMP_D) |
|||
|
|||
EXT_LIBS = |
|||
|
|||
NGHTTP2_PDB_R := $(OBJ_DIR)/nghttp2.pdb |
|||
NGHTTP2_PDB_D := $(OBJ_DIR)/nghttp2d.pdb |
|||
|
|||
CC = cl |
|||
LD := link |
|||
AR := lib |
|||
#CC := icl
|
|||
#LD := xilink
|
|||
#AR := xilib
|
|||
RC := rc |
|||
CFLAGS := -I./includes -Dssize_t=long |
|||
|
|||
CFLAGS_R := -nologo -MD -W3 -Z7 -DBUILDING_NGHTTP2 |
|||
CFLAGS_D := -nologo -MDd -W3 -Z7 -DBUILDING_NGHTTP2 \
|
|||
-Ot -D_DEBUG -GF -RTCs -RTCu # -RTCc -GS |
|||
|
|||
LDFLAGS := -nologo -MAP -debug -incremental:no -opt:ref,icf -MANIFEST # -verbose |
|||
|
|||
|
|||
NGHTTP2_SRC := nghttp2_pq.c \
|
|||
nghttp2_map.c \
|
|||
nghttp2_queue.c \
|
|||
nghttp2_frame.c \
|
|||
nghttp2_buf.c \
|
|||
nghttp2_stream.c \
|
|||
nghttp2_outbound_item.c \
|
|||
nghttp2_session.c \
|
|||
nghttp2_submit.c \
|
|||
nghttp2_helper.c \
|
|||
nghttp2_npn.c \
|
|||
nghttp2_hd.c \
|
|||
nghttp2_hd_huffman.c \
|
|||
nghttp2_hd_huffman_data.c \
|
|||
nghttp2_version.c \
|
|||
nghttp2_priority_spec.c \
|
|||
nghttp2_option.c \
|
|||
nghttp2_callbacks.c \
|
|||
nghttp2_mem.c \
|
|||
nghttp2_http.c \
|
|||
nghttp2_rcbuf.c |
|||
|
|||
NGHTTP2_OBJ_R := $(addprefix $(OBJ_DIR)/r_, $(notdir $(NGHTTP2_SRC:.c=.obj))) |
|||
NGHTTP2_OBJ_D := $(addprefix $(OBJ_DIR)/d_, $(notdir $(NGHTTP2_SRC:.c=.obj))) |
|||
|
|||
.PHONY: all intro test_ver install copy_headers_and_libs \ |
|||
install_nghttp2_pyd_0 install_nghttp2_pyd_1 \
|
|||
build_nghttp2_pyd_0 build_nghttp2_pyd_1 \
|
|||
clean_nghttp2_pyd_0 clean_nghttp2_pyd_1 |
|||
|
|||
|
|||
all: intro includes/nghttp2/nghttp2ver.h $(OBJ_DIR) $(TARGETS) build_nghttp2_pyd_$(USE_CYTHON) |
|||
@echo 'Welcome to NgHTTP2 (release + debug).' |
|||
@echo 'Do a "make -f Makefile.MSVC install" at own risk!' |
|||
|
|||
intro: |
|||
@echo 'Building NgHTTP (MSVC) ver. "$(VERSION)".' |
|||
|
|||
test_ver: |
|||
@echo '$$(VERSION): "$(VERSION)".' |
|||
@echo '$$(_VERSION): "$(_VERSION)".' |
|||
@echo '$$(VER_MAJOR): "$(VER_MAJOR)".' |
|||
@echo '$$(VER_MINOR): "$(VER_MINOR)".' |
|||
@echo '$$(VER_MICRO): "$(VER_MICRO)".' |
|||
|
|||
$(OBJ_DIR): |
|||
- mkdir $(OBJ_DIR) |
|||
|
|||
install: includes/nghttp2/nghttp2.h includes/nghttp2/nghttp2ver.h \ |
|||
$(TARGETS) \
|
|||
copy_headers_and_libs install_nghttp2_pyd_$(USE_CYTHON) |
|||
|
|||
#
|
|||
# This MUST be done before using the 'install_nghttp2_pyd_1' rule.
|
|||
#
|
|||
copy_headers_and_libs: |
|||
- mkdir -p $(INSTALL_HDR)/nghttp2 $(INSTALL_BIN) $(INSTALL_LIB) |
|||
cp --update $(addprefix includes/nghttp2/, nghttp2.h nghttp2ver.h) $(INSTALL_HDR)/nghttp2 |
|||
cp --update $(DLL_R) $(DLL_D) $(NGHTTP2_PDB_R) $(NGHTTP2_PDB_D) $(INSTALL_BIN) |
|||
cp --update $(IMP_R) $(IMP_D) $(LIB_R) $(LIB_D) $(INSTALL_LIB) |
|||
@echo |
|||
|
|||
$(LIB_R): $(NGHTTP2_OBJ_R) |
|||
$(AR) -nologo -out:$@ $^ |
|||
@echo |
|||
|
|||
$(LIB_D): $(NGHTTP2_OBJ_D) |
|||
$(AR) -nologo -out:$@ $^ |
|||
@echo |
|||
|
|||
|
|||
$(IMP_R): $(DLL_R) |
|||
|
|||
$(DLL_R): $(NGHTTP2_OBJ_R) $(OBJ_DIR)/r_nghttp2.res |
|||
$(LD) $(LDFLAGS) -dll -out:$@ -implib:$(IMP_R) $(NGHTTP2_OBJ_R) -PDB:$(NGHTTP2_PDB_R) $(OBJ_DIR)/r_nghttp2.res $(EXT_LIBS) |
|||
mt -nologo -manifest $@.manifest -outputresource:$@\;2 |
|||
@echo |
|||
|
|||
$(IMP_D): $(DLL_D) |
|||
|
|||
$(DLL_D): $(NGHTTP2_OBJ_D) $(OBJ_DIR)/d_nghttp2.res |
|||
$(LD) $(LDFLAGS) -dll -out:$@ -implib:$(IMP_D) $(NGHTTP2_OBJ_D) -PDB:$(NGHTTP2_PDB_D) $(OBJ_DIR)/d_nghttp2.res $(EXT_LIBS) |
|||
mt -nologo -manifest $@.manifest -outputresource:$@\;2 |
|||
@echo |
|||
|
|||
|
|||
WIN_OBJDIR:=$(shell cygpath -w $(abspath $(OBJ_DIR))) |
|||
WIN_OBJDIR:=$(subst \,/,$(WIN_OBJDIR)) |
|||
|
|||
../python/setup.py: ../python/setup.py.in $(THIS_MAKEFILE) |
|||
cd ../python ; \
|
|||
echo '# $(GENERATED). DO NOT EDIT.' > setup.py ; \
|
|||
sed -e 's/@top_srcdir@/../' \
|
|||
-e 's%@top_builddir@%$(WIN_OBJDIR)%' \
|
|||
-e 's/@PACKAGE_VERSION@/$(VERSION)/' setup.py.in >> setup.py ; |
|||
|
|||
build_nghttp2_pyd_0: ; |
|||
|
|||
build_nghttp2_pyd_1: $(addprefix ../python/, setup.py nghttp2.pyx) |
|||
cd ../python ; \
|
|||
python setup.py build_ext -i -f bdist_wininst |
|||
|
|||
install_nghttp2_pyd_0: ; |
|||
|
|||
install_nghttp2_pyd_1: $(addprefix ../python/, setup.py nghttp2.pyx) |
|||
cd ../python ; \
|
|||
pip install . |
|||
|
|||
clean_nghttp2_pyd_0: ; |
|||
|
|||
clean_nghttp2_pyd_1: |
|||
cd ../python ; \
|
|||
rm -fR build dist |
|||
|
|||
$(OBJ_DIR)/r_%.obj: %.c $(THIS_MAKEFILE) |
|||
$(CC) $(CFLAGS_R) $(CFLAGS) -Fo$@ -c $< |
|||
@echo |
|||
|
|||
$(OBJ_DIR)/d_%.obj: %.c $(THIS_MAKEFILE) |
|||
$(CC) $(CFLAGS_D) $(CFLAGS) -Fo$@ -c $< |
|||
@echo |
|||
|
|||
$(OBJ_DIR)/r_nghttp2.res: $(OBJ_DIR)/nghttp2.rc $(THIS_MAKEFILE) |
|||
$(RC) -D_RELEASE -Fo $@ $< |
|||
@echo |
|||
|
|||
$(OBJ_DIR)/d_nghttp2.res: $(OBJ_DIR)/nghttp2.rc $(THIS_MAKEFILE) |
|||
$(RC) -D_DEBUG -Fo $@ $< |
|||
@echo |
|||
|
|||
includes/nghttp2/nghttp2ver.h: includes/nghttp2/nghttp2ver.h.in $(THIS_MAKEFILE) |
|||
sed < includes/nghttp2/nghttp2ver.h.in \
|
|||
-e 's/@PACKAGE_VERSION@/$(VERSION)/g' \
|
|||
-e 's/@PACKAGE_VERSION_NUM@/$(VERSION_NUM)/g' > $@ |
|||
touch --reference=includes/nghttp2/nghttp2ver.h.in $@ |
|||
|
|||
|
|||
define RES_FILE |
|||
#include <winver.h> |
|||
|
|||
VS_VERSION_INFO VERSIONINFO |
|||
FILEVERSION $(VER_MAJOR), $(VER_MINOR), $(VER_MICRO), 0 |
|||
PRODUCTVERSION $(VER_MAJOR), $(VER_MINOR), $(VER_MICRO), 0 |
|||
FILEFLAGSMASK 0x3fL |
|||
FILEOS 0x40004L |
|||
FILETYPE 0x2L |
|||
FILESUBTYPE 0x0L |
|||
#ifdef _DEBUG |
|||
#define VER_STR "$(VERSION).0 (MSVC debug)" |
|||
#define DBG "d" |
|||
FILEFLAGS 0x1L |
|||
#else |
|||
#define VER_STR "$(VERSION).0 (MSVC release)" |
|||
#define DBG "" |
|||
FILEFLAGS 0x0L |
|||
#endif |
|||
BEGIN |
|||
BLOCK "StringFileInfo" |
|||
BEGIN |
|||
BLOCK "040904b0" |
|||
BEGIN |
|||
VALUE "CompanyName", "http://tatsuhiro-t.github.io/nghttp2/" |
|||
VALUE "FileDescription", "nghttp2; HTTP/2 C library" |
|||
VALUE "FileVersion", VER_STR |
|||
VALUE "InternalName", "nghttp2" DBG |
|||
VALUE "LegalCopyright", "The MIT License" |
|||
VALUE "LegalTrademarks", "" |
|||
VALUE "OriginalFilename", "nghttp2" DBG ".dll" |
|||
VALUE "ProductName", "NGHTTP2." |
|||
VALUE "ProductVersion", VER_STR |
|||
END |
|||
END |
|||
BLOCK "VarFileInfo" |
|||
BEGIN |
|||
VALUE "Translation", 0x409, 1200 |
|||
END |
|||
END |
|||
endef |
|||
|
|||
export RES_FILE |
|||
|
|||
$(OBJ_DIR)/nghttp2.rc: Makefile.MSVC |
|||
@echo 'Generating $@...' |
|||
@echo ' /* $(GENERATED). DO NOT EDIT.' > $@ |
|||
@echo ' */' >> $@ |
|||
@echo "$$RES_FILE" >> $@ |
|||
|
|||
clean: |
|||
rm -f $(OBJ_DIR)/* includes/nghttp2/nghttp2ver.h |
|||
@echo |
|||
|
|||
vclean realclean: clean clean_nghttp2_pyd_$(USE_CYTHON) |
|||
- rm -rf $(OBJ_DIR) |
|||
- rm -f .depend.MSVC |
|||
|
|||
#
|
|||
# Use gcc to generated the dependencies. No MSVC specific args please!
|
|||
#
|
|||
REPLACE_R = 's/\(.*\)\.o: /\n$$(OBJ_DIR)\/r_\1.obj: /' |
|||
REPLACE_D = 's/\(.*\)\.o: /\n$$(OBJ_DIR)\/d_\1.obj: /' |
|||
|
|||
depend: includes/nghttp2/nghttp2ver.h |
|||
@echo '# $(GENERATED). DO NOT EDIT.' > .depend.MSVC |
|||
gcc -MM $(CFLAGS) $(NGHTTP2_SRC) >> .depend.tmp |
|||
@echo '#' >> .depend.MSVC |
|||
@echo '# Release lib objects:' >> .depend.MSVC |
|||
sed -e $(REPLACE_R) .depend.tmp >> .depend.MSVC |
|||
@echo '#' >> .depend.MSVC |
|||
@echo '# Debug lib objects:' >> .depend.MSVC |
|||
sed -e $(REPLACE_D) .depend.tmp >> .depend.MSVC |
|||
rm -f .depend.tmp |
|||
|
|||
-include .depend.MSVC |
|||
#
|
|||
# GNU Makefile for nghttp2 / MSVC.
|
|||
#
|
|||
# By G. Vanem <gvanem@yahoo.no> 2013
|
|||
# Updated 3/2015 by Remo Eichenberger @remoe
|
|||
# The MIT License apply.
|
|||
#
|
|||
|
|||
#
|
|||
# Choose your weapons:
|
|||
# Set 'USE_CYTHON=1' to build and install the 'nghttp2.pyd' Python extension.
|
|||
#
|
|||
THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST)) |
|||
|
|||
USE_CYTHON := 0 |
|||
#USE_CYTHON := 1
|
|||
|
|||
_VERSION := $(shell grep AC_INIT ../configure.ac | cut -d'[' -f3 | sed -e 's/-DEV//g' -e 's/], //g') |
|||
_VERSION := $(subst ., ,$(_VERSION)) |
|||
VER_MAJOR := $(word 1,$(_VERSION)) |
|||
VER_MINOR := $(word 2,$(_VERSION)) |
|||
VER_MICRO := $(word 3,$(_VERSION)) |
|||
VERSION := $(VER_MAJOR).$(VER_MINOR).$(VER_MICRO) |
|||
VERSION_NUM := (($(VER_MAJOR) << 16) + ($(VER_MINOR) << 8) + $(VER_MICRO)) |
|||
|
|||
GENERATED := 'Generated by $(realpath Makefile.MSVC)' |
|||
|
|||
OBJ_DIR := MSVC_obj |
|||
#SUFFIX :=-vc90-mt-x86
|
|||
|
|||
#
|
|||
# Where to copy nghttp2.dll + lib + headers to.
|
|||
# Note: 'make install' is not in default targets. Do it explicitly.
|
|||
#
|
|||
TARGET_DIR ?= ../_VC_ROOT |
|||
VC_ROOT := $(abspath $(TARGET_DIR)) |
|||
INSTALL_BIN := $(VC_ROOT)/bin |
|||
INSTALL_LIB := $(VC_ROOT)/lib |
|||
INSTALL_HDR := $(VC_ROOT)/include |
|||
DLL_R := $(OBJ_DIR)/nghttp2$(SUFFIX).dll |
|||
DLL_D := $(OBJ_DIR)/nghttp2d$(SUFFIX).dll |
|||
LIB_R := $(OBJ_DIR)/nghttp2-static.lib |
|||
LIB_D := $(OBJ_DIR)/nghttp2d-static.lib |
|||
IMP_R := $(OBJ_DIR)/nghttp2.lib |
|||
IMP_D := $(OBJ_DIR)/nghttp2d.lib |
|||
|
|||
#
|
|||
# Build for DEBUG-model and RELEASE at the same time.
|
|||
#
|
|||
TARGETS := $(LIB_R) $(DLL_R) $(IMP_R) \
|
|||
$(LIB_D) $(DLL_D) $(IMP_D) |
|||
|
|||
EXT_LIBS = |
|||
|
|||
NGHTTP2_PDB_R := $(OBJ_DIR)/nghttp2.pdb |
|||
NGHTTP2_PDB_D := $(OBJ_DIR)/nghttp2d.pdb |
|||
|
|||
CC = cl |
|||
LD := link |
|||
AR := lib |
|||
#CC := icl
|
|||
#LD := xilink
|
|||
#AR := xilib
|
|||
RC := rc |
|||
CFLAGS := -I./includes -Dssize_t=long |
|||
|
|||
CFLAGS_R := -nologo -MD -W3 -Z7 -DBUILDING_NGHTTP2 |
|||
CFLAGS_D := -nologo -MDd -W3 -Z7 -DBUILDING_NGHTTP2 \
|
|||
-Ot -D_DEBUG -GF -RTCs -RTCu # -RTCc -GS |
|||
|
|||
LDFLAGS := -nologo -MAP -debug -incremental:no -opt:ref,icf -MANIFEST # -verbose |
|||
|
|||
|
|||
NGHTTP2_SRC := nghttp2_pq.c \
|
|||
nghttp2_map.c \
|
|||
nghttp2_queue.c \
|
|||
nghttp2_frame.c \
|
|||
nghttp2_buf.c \
|
|||
nghttp2_stream.c \
|
|||
nghttp2_outbound_item.c \
|
|||
nghttp2_session.c \
|
|||
nghttp2_submit.c \
|
|||
nghttp2_helper.c \
|
|||
nghttp2_npn.c \
|
|||
nghttp2_hd.c \
|
|||
nghttp2_hd_huffman.c \
|
|||
nghttp2_hd_huffman_data.c \
|
|||
nghttp2_version.c \
|
|||
nghttp2_priority_spec.c \
|
|||
nghttp2_option.c \
|
|||
nghttp2_callbacks.c \
|
|||
nghttp2_mem.c \
|
|||
nghttp2_http.c \
|
|||
nghttp2_rcbuf.c |
|||
|
|||
NGHTTP2_OBJ_R := $(addprefix $(OBJ_DIR)/r_, $(notdir $(NGHTTP2_SRC:.c=.obj))) |
|||
NGHTTP2_OBJ_D := $(addprefix $(OBJ_DIR)/d_, $(notdir $(NGHTTP2_SRC:.c=.obj))) |
|||
|
|||
.PHONY: all intro test_ver install copy_headers_and_libs \ |
|||
install_nghttp2_pyd_0 install_nghttp2_pyd_1 \
|
|||
build_nghttp2_pyd_0 build_nghttp2_pyd_1 \
|
|||
clean_nghttp2_pyd_0 clean_nghttp2_pyd_1 |
|||
|
|||
|
|||
all: intro includes/nghttp2/nghttp2ver.h $(OBJ_DIR) $(TARGETS) build_nghttp2_pyd_$(USE_CYTHON) |
|||
@echo 'Welcome to NgHTTP2 (release + debug).' |
|||
@echo 'Do a "make -f Makefile.MSVC install" at own risk!' |
|||
|
|||
intro: |
|||
@echo 'Building NgHTTP (MSVC) ver. "$(VERSION)".' |
|||
|
|||
test_ver: |
|||
@echo '$$(VERSION): "$(VERSION)".' |
|||
@echo '$$(_VERSION): "$(_VERSION)".' |
|||
@echo '$$(VER_MAJOR): "$(VER_MAJOR)".' |
|||
@echo '$$(VER_MINOR): "$(VER_MINOR)".' |
|||
@echo '$$(VER_MICRO): "$(VER_MICRO)".' |
|||
|
|||
$(OBJ_DIR): |
|||
- mkdir $(OBJ_DIR) |
|||
|
|||
install: includes/nghttp2/nghttp2.h includes/nghttp2/nghttp2ver.h \ |
|||
$(TARGETS) \
|
|||
copy_headers_and_libs install_nghttp2_pyd_$(USE_CYTHON) |
|||
|
|||
#
|
|||
# This MUST be done before using the 'install_nghttp2_pyd_1' rule.
|
|||
#
|
|||
copy_headers_and_libs: |
|||
- mkdir -p $(INSTALL_HDR)/nghttp2 $(INSTALL_BIN) $(INSTALL_LIB) |
|||
cp --update $(addprefix includes/nghttp2/, nghttp2.h nghttp2ver.h) $(INSTALL_HDR)/nghttp2 |
|||
cp --update $(DLL_R) $(DLL_D) $(NGHTTP2_PDB_R) $(NGHTTP2_PDB_D) $(INSTALL_BIN) |
|||
cp --update $(IMP_R) $(IMP_D) $(LIB_R) $(LIB_D) $(INSTALL_LIB) |
|||
@echo |
|||
|
|||
$(LIB_R): $(NGHTTP2_OBJ_R) |
|||
$(AR) -nologo -out:$@ $^ |
|||
@echo |
|||
|
|||
$(LIB_D): $(NGHTTP2_OBJ_D) |
|||
$(AR) -nologo -out:$@ $^ |
|||
@echo |
|||
|
|||
|
|||
$(IMP_R): $(DLL_R) |
|||
|
|||
$(DLL_R): $(NGHTTP2_OBJ_R) $(OBJ_DIR)/r_nghttp2.res |
|||
$(LD) $(LDFLAGS) -dll -out:$@ -implib:$(IMP_R) $(NGHTTP2_OBJ_R) -PDB:$(NGHTTP2_PDB_R) $(OBJ_DIR)/r_nghttp2.res $(EXT_LIBS) |
|||
mt -nologo -manifest $@.manifest -outputresource:$@\;2 |
|||
@echo |
|||
|
|||
$(IMP_D): $(DLL_D) |
|||
|
|||
$(DLL_D): $(NGHTTP2_OBJ_D) $(OBJ_DIR)/d_nghttp2.res |
|||
$(LD) $(LDFLAGS) -dll -out:$@ -implib:$(IMP_D) $(NGHTTP2_OBJ_D) -PDB:$(NGHTTP2_PDB_D) $(OBJ_DIR)/d_nghttp2.res $(EXT_LIBS) |
|||
mt -nologo -manifest $@.manifest -outputresource:$@\;2 |
|||
@echo |
|||
|
|||
|
|||
WIN_OBJDIR:=$(shell cygpath -w $(abspath $(OBJ_DIR))) |
|||
WIN_OBJDIR:=$(subst \,/,$(WIN_OBJDIR)) |
|||
|
|||
../python/setup.py: ../python/setup.py.in $(THIS_MAKEFILE) |
|||
cd ../python ; \
|
|||
echo '# $(GENERATED). DO NOT EDIT.' > setup.py ; \
|
|||
sed -e 's/@top_srcdir@/../' \
|
|||
-e 's%@top_builddir@%$(WIN_OBJDIR)%' \
|
|||
-e 's/@PACKAGE_VERSION@/$(VERSION)/' setup.py.in >> setup.py ; |
|||
|
|||
build_nghttp2_pyd_0: ; |
|||
|
|||
build_nghttp2_pyd_1: $(addprefix ../python/, setup.py nghttp2.pyx) |
|||
cd ../python ; \
|
|||
python setup.py build_ext -i -f bdist_wininst |
|||
|
|||
install_nghttp2_pyd_0: ; |
|||
|
|||
install_nghttp2_pyd_1: $(addprefix ../python/, setup.py nghttp2.pyx) |
|||
cd ../python ; \
|
|||
pip install . |
|||
|
|||
clean_nghttp2_pyd_0: ; |
|||
|
|||
clean_nghttp2_pyd_1: |
|||
cd ../python ; \
|
|||
rm -fR build dist |
|||
|
|||
$(OBJ_DIR)/r_%.obj: %.c $(THIS_MAKEFILE) |
|||
$(CC) $(CFLAGS_R) $(CFLAGS) -Fo$@ -c $< |
|||
@echo |
|||
|
|||
$(OBJ_DIR)/d_%.obj: %.c $(THIS_MAKEFILE) |
|||
$(CC) $(CFLAGS_D) $(CFLAGS) -Fo$@ -c $< |
|||
@echo |
|||
|
|||
$(OBJ_DIR)/r_nghttp2.res: $(OBJ_DIR)/nghttp2.rc $(THIS_MAKEFILE) |
|||
$(RC) -D_RELEASE -Fo $@ $< |
|||
@echo |
|||
|
|||
$(OBJ_DIR)/d_nghttp2.res: $(OBJ_DIR)/nghttp2.rc $(THIS_MAKEFILE) |
|||
$(RC) -D_DEBUG -Fo $@ $< |
|||
@echo |
|||
|
|||
includes/nghttp2/nghttp2ver.h: includes/nghttp2/nghttp2ver.h.in $(THIS_MAKEFILE) |
|||
sed < includes/nghttp2/nghttp2ver.h.in \
|
|||
-e 's/@PACKAGE_VERSION@/$(VERSION)/g' \
|
|||
-e 's/@PACKAGE_VERSION_NUM@/$(VERSION_NUM)/g' > $@ |
|||
touch --reference=includes/nghttp2/nghttp2ver.h.in $@ |
|||
|
|||
|
|||
define RES_FILE |
|||
#include <winver.h> |
|||
|
|||
VS_VERSION_INFO VERSIONINFO |
|||
FILEVERSION $(VER_MAJOR), $(VER_MINOR), $(VER_MICRO), 0 |
|||
PRODUCTVERSION $(VER_MAJOR), $(VER_MINOR), $(VER_MICRO), 0 |
|||
FILEFLAGSMASK 0x3fL |
|||
FILEOS 0x40004L |
|||
FILETYPE 0x2L |
|||
FILESUBTYPE 0x0L |
|||
#ifdef _DEBUG |
|||
#define VER_STR "$(VERSION).0 (MSVC debug)" |
|||
#define DBG "d" |
|||
FILEFLAGS 0x1L |
|||
#else |
|||
#define VER_STR "$(VERSION).0 (MSVC release)" |
|||
#define DBG "" |
|||
FILEFLAGS 0x0L |
|||
#endif |
|||
BEGIN |
|||
BLOCK "StringFileInfo" |
|||
BEGIN |
|||
BLOCK "040904b0" |
|||
BEGIN |
|||
VALUE "CompanyName", "http://tatsuhiro-t.github.io/nghttp2/" |
|||
VALUE "FileDescription", "nghttp2; HTTP/2 C library" |
|||
VALUE "FileVersion", VER_STR |
|||
VALUE "InternalName", "nghttp2" DBG |
|||
VALUE "LegalCopyright", "The MIT License" |
|||
VALUE "LegalTrademarks", "" |
|||
VALUE "OriginalFilename", "nghttp2" DBG ".dll" |
|||
VALUE "ProductName", "NGHTTP2." |
|||
VALUE "ProductVersion", VER_STR |
|||
END |
|||
END |
|||
BLOCK "VarFileInfo" |
|||
BEGIN |
|||
VALUE "Translation", 0x409, 1200 |
|||
END |
|||
END |
|||
endef |
|||
|
|||
export RES_FILE |
|||
|
|||
$(OBJ_DIR)/nghttp2.rc: Makefile.MSVC |
|||
@echo 'Generating $@...' |
|||
@echo ' /* $(GENERATED). DO NOT EDIT.' > $@ |
|||
@echo ' */' >> $@ |
|||
@echo "$$RES_FILE" >> $@ |
|||
|
|||
clean: |
|||
rm -f $(OBJ_DIR)/* includes/nghttp2/nghttp2ver.h |
|||
@echo |
|||
|
|||
vclean realclean: clean clean_nghttp2_pyd_$(USE_CYTHON) |
|||
- rm -rf $(OBJ_DIR) |
|||
- rm -f .depend.MSVC |
|||
|
|||
#
|
|||
# Use gcc to generated the dependencies. No MSVC specific args please!
|
|||
#
|
|||
REPLACE_R = 's/\(.*\)\.o: /\n$$(OBJ_DIR)\/r_\1.obj: /' |
|||
REPLACE_D = 's/\(.*\)\.o: /\n$$(OBJ_DIR)\/d_\1.obj: /' |
|||
|
|||
depend: includes/nghttp2/nghttp2ver.h |
|||
@echo '# $(GENERATED). DO NOT EDIT.' > .depend.MSVC |
|||
gcc -MM $(CFLAGS) $(NGHTTP2_SRC) >> .depend.tmp |
|||
@echo '#' >> .depend.MSVC |
|||
@echo '# Release lib objects:' >> .depend.MSVC |
|||
sed -e $(REPLACE_R) .depend.tmp >> .depend.MSVC |
|||
@echo '#' >> .depend.MSVC |
|||
@echo '# Debug lib objects:' >> .depend.MSVC |
|||
sed -e $(REPLACE_D) .depend.tmp >> .depend.MSVC |
|||
rm -f .depend.tmp |
|||
|
|||
-include .depend.MSVC |
|||
|
@ -1,40 +1,40 @@ |
|||
#include <winver.h> |
|||
|
|||
VS_VERSION_INFO VERSIONINFO |
|||
|
|||
FILEVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0 |
|||
PRODUCTVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0 |
|||
FILEFLAGSMASK 0x3fL |
|||
FILEOS 0x40004L |
|||
FILETYPE 0x2L |
|||
FILESUBTYPE 0x0L |
|||
#ifdef _DEBUG |
|||
#define VER_STR "@PROJECT_VERSION@.0 (MSVC debug)" |
|||
#define DBG "d" |
|||
FILEFLAGS 0x1L |
|||
#else |
|||
#define VER_STR "@PROJECT_VERSION@.0 (MSVC release)" |
|||
#define DBG "" |
|||
FILEFLAGS 0x0L |
|||
#endif |
|||
BEGIN |
|||
BLOCK "StringFileInfo" |
|||
BEGIN |
|||
BLOCK "040904b0" |
|||
BEGIN |
|||
VALUE "CompanyName", "https://nghttp2.org/" |
|||
VALUE "FileDescription", "nghttp2; HTTP/2 C library" |
|||
VALUE "FileVersion", VER_STR |
|||
VALUE "InternalName", "nghttp2" DBG |
|||
VALUE "LegalCopyright", "The MIT License" |
|||
VALUE "LegalTrademarks", "" |
|||
VALUE "OriginalFilename", "nghttp2" DBG ".dll" |
|||
VALUE "ProductName", "NGHTTP2." |
|||
VALUE "ProductVersion", VER_STR |
|||
END |
|||
END |
|||
BLOCK "VarFileInfo" |
|||
BEGIN |
|||
VALUE "Translation", 0x409, 1200 |
|||
END |
|||
END |
|||
#include <winver.h> |
|||
|
|||
VS_VERSION_INFO VERSIONINFO |
|||
|
|||
FILEVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0 |
|||
PRODUCTVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0 |
|||
FILEFLAGSMASK 0x3fL |
|||
FILEOS 0x40004L |
|||
FILETYPE 0x2L |
|||
FILESUBTYPE 0x0L |
|||
#ifdef _DEBUG |
|||
#define VER_STR "@PROJECT_VERSION@.0 (MSVC debug)" |
|||
#define DBG "d" |
|||
FILEFLAGS 0x1L |
|||
#else |
|||
#define VER_STR "@PROJECT_VERSION@.0 (MSVC release)" |
|||
#define DBG "" |
|||
FILEFLAGS 0x0L |
|||
#endif |
|||
BEGIN |
|||
BLOCK "StringFileInfo" |
|||
BEGIN |
|||
BLOCK "040904b0" |
|||
BEGIN |
|||
VALUE "CompanyName", "https://nghttp2.org/" |
|||
VALUE "FileDescription", "nghttp2; HTTP/2 C library" |
|||
VALUE "FileVersion", VER_STR |
|||
VALUE "InternalName", "nghttp2" DBG |
|||
VALUE "LegalCopyright", "The MIT License" |
|||
VALUE "LegalTrademarks", "" |
|||
VALUE "OriginalFilename", "nghttp2" DBG ".dll" |
|||
VALUE "ProductName", "NGHTTP2." |
|||
VALUE "ProductVersion", VER_STR |
|||
END |
|||
END |
|||
BLOCK "VarFileInfo" |
|||
BEGIN |
|||
VALUE "Translation", 0x409, 1200 |
|||
END |
|||
END |
|||
|
Loading…
Reference in new issue