151 lines
5.1 KiB
Plaintext
151 lines
5.1 KiB
Plaintext
# Makefile.nmake
|
|
# nmake file for Wireshark plugin
|
|
#
|
|
# $Id: Makefile.nmake 24520 2008-03-01 12:31:01Z jake $
|
|
#
|
|
|
|
!IF "$(DEBUG)" == "1"
|
|
OUT_DIR=Debug_$(TGT_WS_VERSION)
|
|
!ELSE
|
|
OUT_DIR=Release_$(TGT_WS_VERSION)
|
|
!ENDIF
|
|
!IFNDEF WS_ROOT
|
|
WS_ROOT=../../..
|
|
!ENDIF
|
|
|
|
OUT_PATH=$(OUT_DIR)/
|
|
|
|
CFLAGS=/DHAVE_CONFIG_H /I$(WIRESHARK_LIBS)/../ $(GLIB_CFLAGS) \
|
|
/I $(WS_ROOT)/$(TGT_WS_VERSION)/ \
|
|
/I$(OCT_INC) \
|
|
/I$(OCT_INC)/octpkt \
|
|
!IF EXIST("$(OCT_INC)/octcodec")
|
|
/I$(OCT_INC)/octcodec \
|
|
!ENDIF
|
|
/I$(OCT_INC)/vocallo \
|
|
!IF EXIST("$(OCT_INC)/../octmfa_api/include")
|
|
/I$(OCT_INC)/../octmfa_api/include \
|
|
!ENDIF
|
|
/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
|
|
|
|
LDFLAGS = $(PLUGIN_LDFLAGS)
|
|
|
|
!IFDEF ENABLE_LIBWIRESHARK
|
|
LINK_PLUGIN_WITH=$(WIRESHARK_LIBS)/../epan/libwireshark.lib
|
|
CFLAGS=/DHAVE_WIN32_LIBWIRESHARK_LIB /D_NEED_VAR_IMPORT_ $(CFLAGS)
|
|
!ENDIF
|
|
|
|
{$(SRC_PATH)}.c{$(OUT_PATH)}.obj::
|
|
@$(CC) $(CFLAGS) -Fd$(OUT_PATH) -Fo$(OUT_PATH) -c $<
|
|
|
|
!IFNDEF DISSECTOR_OBJ_PATH
|
|
!IF "$(DEBUG)" == "1"
|
|
DISSECTOR_OBJ_PATH = $(DISSECTOR_SRC:source=Debug)
|
|
#!ELSE
|
|
DISSECTOR_OBJ_PATH = $(DISSECTOR_SRC:source=Release)
|
|
!ENDIF
|
|
!ENDIF
|
|
|
|
DISSECTOR_OBJECTS = $(DISSECTOR_OBJ_PATH:.c=.obj)
|
|
DISSECTOR_SUPPORT_OBJECTS = $(DISSECTOR_SUPPORT_SRC:.c=.obj)
|
|
DLL_NAME=$(PLUGIN_NAME)
|
|
|
|
OBJECTS = $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) $(OUT_PATH)plugin.obj
|
|
|
|
RESOURCE=$(OUT_PATH)$(PLUGIN_NAME).res
|
|
|
|
WIRESHARK_PLUGING_DEST_EXIST = 0
|
|
!IF EXIST( "$(WIRESHARK_PLUGING_DEST)")
|
|
WIRESHARK_PLUGING_DEST_EXIST = 1
|
|
!ENDIF
|
|
|
|
!if defined( NO_TGT_VERSION )
|
|
LOCAL_CFLAGS=/DNO_TGT_VERSION=$(NO_TGT_VERSION) $(LOCAL_CFLAGS)
|
|
!endif
|
|
|
|
|
|
all: $(OUT_PATH)$(DLL_NAME).dll
|
|
|
|
$(OUT_DIR) :
|
|
@if not exist "$(OUT_DIR)/$(NULL)" mkdir "$(OUT_DIR)"
|
|
|
|
$(OUT_PATH)$(PLUGIN_NAME).rc :
|
|
-@sed -e s/@PLUGIN_NAME@/$(PLUGIN_NAME)/ \
|
|
-e s/@RC_MODULE_VERSION@/$(RC_MODULE_VERSION)/ \
|
|
-e s/@RC_VERSION@/$(RC_VERSION)/ \
|
|
-e s/@MODULE_VERSION@/$(MODULE_VERSION)/ \
|
|
-e s/@PACKAGE@/$(PACKAGE)/ \
|
|
-e s/@VERSION@/$(VERSION)/ \
|
|
-e s/@INTERNAL_NAME@/$(RC_INTERNAL_NAME)/ \
|
|
-e s/@MSVC_VARIANT@/$(MSVC_VARIANT)/ \
|
|
< $(WS_ROOT)\plugins\octasic\plugin.rc.in > $@
|
|
# @copy source\$(PLUGIN_NAME).rc $(OUT_DIR)\$(PLUGIN_NAME).rc
|
|
|
|
$(OUT_PATH)$(DLL_NAME).dll $(OUT_PATH)$(PLUGIN_NAME).exp $(OUT_PATH)$(DLL_NAME).lib : $(OUT_DIR) $(OBJECTS) $(LINK_PLUGIN_WITH) $(RESOURCE)
|
|
@link -dll /out:$(OUT_PATH)$(DLL_NAME).dll $(LDFLAGS) $(OBJECTS) $(LINK_PLUGIN_WITH) \
|
|
$(GLIB_LIBS) $(RESOURCE)
|
|
|
|
#
|
|
# Build plugin.c, which contains the plugin version[] string, a
|
|
# function plugin_register() that calls the register routines for all
|
|
# protocols, and a function plugin_reg_handoff() that calls the handoff
|
|
# registration routines for all protocols.
|
|
#
|
|
# We do this by scanning sources. If that turns out to be too slow,
|
|
# maybe we could just require every .o file to have an register routine
|
|
# of a given name (packet-aarp.o -> proto_register_aarp, etc.).
|
|
#
|
|
# Formatting conventions: The name of the proto_register_* routines an
|
|
# proto_reg_handoff_* routines must start in column zero, or must be
|
|
# preceded only by "void " starting in column zero, and must not be
|
|
# inside #if.
|
|
#
|
|
# DISSECTOR_SRC is assumed to have all the files that need to be scanned.
|
|
#
|
|
# For some unknown reason, having a big "for" loop in the Makefile
|
|
# to scan all the files doesn't work with some "make"s; they seem to
|
|
# pass only the first few names in the list to the shell, for some
|
|
# reason.
|
|
#
|
|
# Therefore, we have a script to generate the plugin.c file.
|
|
# The shell script runs slowly, as multiple greps and seds are run
|
|
# for each input file; this is especially slow on Windows. Therefore,
|
|
# if Python is present (as indicated by PYTHON being defined), we run
|
|
# a faster Python script to do that work instead.
|
|
#
|
|
# The first argument is the directory in which the source files live.
|
|
# The second argument is "plugin", to indicate that we should build
|
|
# a plugin.c file for a plugin.
|
|
# All subsequent arguments are the files to scan.
|
|
#
|
|
#!IFDEF PYTHON
|
|
#plugin.c: $(DISSECTOR_SRC) moduleinfo.h ../../tools/make-dissector-reg.py
|
|
# @echo Making plugin.c (using python)
|
|
# @$(PYTHON) "../../tools/make-dissector-reg.py" . plugin $(DISSECTOR_SRC)
|
|
#!ELSE
|
|
#plugin.c: $(DISSECTOR_SRC) moduleinfo.h ../../tools/make-dissector-reg
|
|
# @echo Making plugin.c (using sh)
|
|
# @$(SH) ../../tools/make-dissector-reg . plugin $(DISSECTOR_SRC)
|
|
#!ENDIF
|
|
|
|
|
|
clean:
|
|
-@ erase /Q "$(OUT_PATH)\*.*"
|
|
|
|
install:
|
|
! IF $(WIRESHARK_PLUGING_DEST_EXIST)==0
|
|
! MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
! MESSAGE Pluging path "$(WIRESHARK_PLUGING_DEST)" does not exist
|
|
! MESSAGE Please install WIRESHARK VERSION $(WIRESHARK_RELEASE)
|
|
! MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
! ERROR
|
|
! ELSE
|
|
@del "$(WIRESHARK_PLUGING_DEST)\$(PLUGIN_NAME)*.dll"
|
|
@xcopy /Q $(OUT_DIR)\$(DLL_NAME).dll "$(WIRESHARK_PLUGING_DEST)" /Y
|
|
! ENDIF
|
|
|
|
package:
|
|
@cd ../packaging/nsis
|
|
@$(MAKENSIS) /DVER_MAJOR=$(MODULE_VERSION_MAJOR) /DVER_MINOR=$(MODULE_VERSION_MINOR) /DVER_REVISION=$(MODULE_VERSION_MICRO) /DVER_BUILD=$(MODULE_VERSION_EXTRA) /DTGT_VERSION=$(TGT_VERSION) /DTGT_WS_VERSION=$(TGT_WS_VERSION) octvoc_ws.nsi
|
|
@cd $(MAKEDIR)
|