Fix the wireless settings button for AirPCap devices in the
[obnox/wireshark/wip.git] / gtk / Makefile.nmake
index 766b0e502b23bb2eae5a5c999dde83e0c4f0dc48..a47340254c23fe5c66e4507b371e40e94d554d6a 100644 (file)
-## Makefile for building ethereal.exe with Microsoft C and nmake
+## Makefile for building wireshark.exe with Microsoft C and nmake
 ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
 #
-# $Id: Makefile.nmake,v 1.51 2003/09/02 22:47:58 guy Exp $
+# $Id$
 
 include ..\config.nmake
+include ..\Makefile.nmake.inc
 
 ############### no need to modify below this line #########
 
-CFLAGS=-DHAVE_CONFIG_H /I.. /I../wiretap $(GTK_CFLAGS) \
-       /I$(ZLIB_DIR) \
+# We use GENERATED_CFLAGS to get around flex's non-LLP64-compliant output
+GENERATED_CFLAGS=\
+       $(STANDARD_CFLAGS) \
+       -D_NEED_VAR_IMPORT_ /Zm800 \
+       /I.. /I../wiretap $(GTK_CFLAGS) $(GNUTLS_CFLAGS) \
        /I$(PCAP_DIR)\WPCAP\LIBPCAP /I$(PCAP_DIR)\WPCAP\LIBPCAP\bpf \
        /I$(PCAP_DIR)\WPCAP\LIBPCAP\lbl \
-       /I$(PCAP_DIR)\include /I$(NET_SNMP_DIR)\include \
-       /I$(NET_SNMP_DIR)\win32 /Zm800 -D_U_="" $(LOCAL_CFLAGS)
+       /I$(PCAP_DIR)\include $(AIRPCAP_CFLAGS) \
+       $(PORTAUDIO_CFLAGS) \
+       $(HHC_CFLAGS)
 
-CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
+CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS)
 
 .c.obj::
-   $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
-
-ETHEREAL_TAP_SRC = \
-               bootp_stat.c    \
-       dcerpc_stat.c   \
-       endpoint_talkers_eth.c  \
-       endpoint_talkers_fc.c   \
-       endpoint_talkers_fddi.c \
-       endpoint_talkers_ip.c   \
-       endpoint_talkers_ipx.c  \
-       endpoint_talkers_tcpip.c        \
-       endpoint_talkers_tr.c   \
-       endpoint_talkers_udpip.c        \
-       fc_stat.c       \
-       http_stat.c     \
-       io_stat.c       \
-       mgcp_stat.c     \
-       rpc_stat.c      \
-       rpc_progs.c     \
-       smb_stat.c      \
-       tap_rtp.c       \
-       wsp_stat.c
-
-ETHEREAL_TAP_OBJECTS = $(ETHEREAL_TAP_SRC:.c=.obj)
-
-# gtkclist.obj is not in here because it is gtk+-1.2 code,
-# while the DLL for GTK+ on windows is gtk+-1.3, and there's
-# some functions that have disappeared in gtk+-1.3. I might
-# get around to #ifdef'ing them out in our gtkclist.c.
-OBJECTS=capture_dlg.obj \
-       capture_prefs.obj \
-       color_dlg.obj    \
-       color_filters.obj \
-       column_prefs.obj \
-       colors.obj       \
-       color_utils.obj  \
-       decode_as_dlg.obj \
-       dfilter_expr_dlg.obj \
-       display_opts.obj \
-       dlg_utils.obj   \
-       endpoint_talkers_table.obj \
-       ethereal-tap-register.obj \
-       file_dlg.obj \
-       filter_prefs.obj \
-       find_dlg.obj \
-       follow_dlg.obj \
-       goto_dlg.obj \
-       gui_prefs.obj \
-       gtk_stat_util.obj       \
-       help_dlg.obj \
-       main.obj        \
-       menu.obj        \
-       nameres_prefs.obj \
-       packet_list.obj \
-       packet_win.obj  \
-       plugins_dlg.obj \
-       prefs_dlg.obj \
-       print_dlg.obj \
-        print_mswin.obj \
-       print_prefs.obj  \
-       progress_dlg.obj \
-       proto_dlg.obj \
-       proto_draw.obj \
-       proto_hier_stats_dlg.obj        \
-       service_response_time_table.obj \
-       simple_dialog.obj \
-       stream_prefs.obj \
-       summary_dlg.obj \
-       tcp_graph.obj \
-       ui_util.obj     \
-       $(ETHEREAL_TAP_OBJECTS)
-
-libui.lib      : ..\config.h $(OBJECTS)
-       lib /out:libui.lib $(OBJECTS)
-
-ethereal-tap-register.c: $(ETHEREAL_TAP_SRC) ../make-tapreg-dotc
-        @echo Making ethereal-tap-register.c
-        @$(SH) ../make-tapreg-dotc ethereal-tap-register.c . $(ETHEREAL_TAP_SRC)
+       $(CC) $(CVARSDLL) $(CFLAGS) $(WSUG_CFLAGS) -Fd.\ -c $<
+
+include Makefile.common
+
+
+# if you add files here, be sure to include them also in Makefile.am EXTRA_DIST
+WIRESHARK_GTK_SRC = \
+       $(WIRESHARK_GTK_SRC) \
+       $(GENERATED_C_FILES) \
+       capture_if_details_dlg_win32.c \
+       gtkvumeter.c
+
+PORT_AUDIO_SRC = \
+!IFDEF PORTAUDIO_DIR
+!IF "$(PORTAUDIO_VERSION)" == "18"
+       pa_lib.c \
+!ELSE
+       pa_allocation.c \
+       pa_converters.c \
+       pa_cpuload.c \
+       pa_dither.c \
+       pa_front.c \
+       pa_process.c \
+       pa_skeleton.c \
+       pa_stream.c \
+       pa_trace.c \
+       pa_win_util.c \
+       pa_win_hostapis.c \
+       pa_x86_plain_converters.c \
+       pa_win_waveformat.c \
+!ENDIF
+       pa_win_wmme.c
+!ENDIF
+
+WIRESHARK_TAP_OBJECTS = $(WIRESHARK_TAP_SRC:.c=.obj)
+
+
+WIRESHARK_GTK_OBJECTS = \
+       $(WIRESHARK_GTK_SRC:.c=.obj) \
+       $(DIRTY_GENERATED_C_FILES:.c=.obj) \
+       $(PORT_AUDIO_SRC:.c=.obj)
+
+libui.lib      : ..\config.h $(WIRESHARK_GTK_OBJECTS) $(WIRESHARK_TAP_OBJECTS)
+       link /lib /out:libui.lib $(WIRESHARK_GTK_OBJECTS) $(WIRESHARK_TAP_OBJECTS) winmm.lib
+
+# 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
+wireshark-tap-register.c: $(WIRESHARK_TAP_SRC) ../tools/make-tap-reg.py
+       @echo Making wireshark-tap-register.c (using python)
+       @$(PYTHON) "../tools/make-tap-reg.py" . taps $(WIRESHARK_TAP_SRC)
+!ELSE
+wireshark-tap-register.c: $(WIRESHARK_TAP_SRC) ../tools/make-tapreg-dotc Makefile.common
+       @echo Making wireshark-tap-register.c
+       @$(SH) ../tools/make-tapreg-dotc wireshark-tap-register.c . $(WIRESHARK_TAP_SRC)
+!ENDIF
+
+RUNLEX=..\tools\runlex.sh
+
+text_import_scanner.h: text_import_scanner.c
+text_import_scanner_lex.h: text_import_scanner.c
+text_import_scanner.obj : text_import_scanner.c
+       $(CC) $(CVARSDLL) $(GENERATED_CFLAGS) $(WSUG_CFLAGS) -Fd.\ -c $?
+
+!IF "$(PORTAUDIO_VERSION)" == "18"
+pa_lib.obj: $(PORTAUDIO_DIR)\pa_common\pa_lib.c
+       $(CC) -c $(LOCAL_CFLAGS) $?
+
+pa_win_wmme.obj: $(PORTAUDIO_DIR)\pa_win_wmme\pa_win_wmme.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+!ELSE
+pa_front.obj: $(PORTAUDIO_DIR)\src\common\pa_front.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+pa_allocation.obj: $(PORTAUDIO_DIR)\src\common\pa_allocation.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+pa_converters.obj: $(PORTAUDIO_DIR)\src\common\pa_converters.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+pa_cpuload.obj: $(PORTAUDIO_DIR)\src\common\pa_cpuload.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+pa_dither.obj: $(PORTAUDIO_DIR)\src\common\pa_dither.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+pa_process.obj: $(PORTAUDIO_DIR)\src\common\pa_process.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+pa_skeleton.obj: $(PORTAUDIO_DIR)\src\common\pa_skeleton.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+pa_stream.obj: $(PORTAUDIO_DIR)\src\common\pa_stream.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+pa_trace.obj: $(PORTAUDIO_DIR)\src\common\pa_trace.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+pa_win_wmme.obj: $(PORTAUDIO_DIR)\src\hostapi\wmme\pa_win_wmme.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+pa_win_util.obj: $(PORTAUDIO_DIR)\src\os\win\pa_win_util.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+pa_win_hostapis.obj: $(PORTAUDIO_DIR)\src\os\win\pa_win_hostapis.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+pa_x86_plain_converters.obj: $(PORTAUDIO_DIR)\src\os\win\pa_x86_plain_converters.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+pa_win_waveformat.obj: $(PORTAUDIO_DIR)\src\os\win\pa_win_waveformat.c
+       $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
+
+!ENDIF
 
 clean:
-       rm -f $(OBJECTS) libui.lib $(PDB_FILE)
+       rm -f $(WIRESHARK_GTK_OBJECTS) $(WIRESHARK_TAP_OBJECTS) libui.lib *.pdb doxygen.cfg html/*.* wireshark-tap-register-cache.pkl
+       if exist html rmdir html
+
+distclean: clean
+
+maintainer-clean: distclean
+       rm -f $(GENERATED_FILES)
+
+# convert doxygen.cfg.in to doxygen.cfg with stamped version info
+doxygen.cfg: ..\config.nmake doxygen.cfg.in
+!IFDEF DOXYGEN
+       sed -e s/@VERSION@/$(VERSION)/ \
+           < doxygen.cfg.in > $@
+!ENDIF
+
+doxygen-run:
+!IFDEF DOXYGEN
+       $(DOXYGEN) doxygen.cfg
+!ENDIF
+
+# MS html help compiler hhc returns 1 on success, but as nmake expects 0 it would stop here.
+# the prepended -1 will raise the accepted error levels of nmake, so it will continue
+doxygen.chm:
+!IFDEF HHC
+       -1 $(HHC) html\index.hhp
+!ENDIF
+
+doxygen: doxygen.cfg doxygen-run doxygen.chm
+
+checkapi: checkapi-base checkapi-todo
+
+checkapi-base:
+       $(PERL) ../tools/checkAPIs.pl -g deprecated-gtk \
+       $(WIRESHARK_GTK_SRC) \
+       $(WIRESHARK_TAP_SRC)
+
+checkapi-todo:
+       $(PERL) ../tools/checkAPIs.pl -M -g deprecated-gtk-todo \
+       $(WIRESHARK_GTK_SRC) \
+       $(WIRESHARK_TAP_SRC)