The Styleguide section has been moved to the Wireshark Developer's Guide.
[obnox/wireshark/wip.git] / gtk / Makefile.nmake
1 ## Makefile for building wireshark.exe with Microsoft C and nmake
2 ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
3 #
4 # $Id$
5
6 include ..\config.nmake
7 include ..\Makefile.nmake.inc
8
9 ############### no need to modify below this line #########
10
11 # We use GENERATED_CFLAGS to get around flex's non-LLP64-compliant output
12 GENERATED_CFLAGS=-DHAVE_CONFIG_H /I.. /I../wiretap $(GTK_CFLAGS) $(GNUTLS_CFLAGS) \
13         /I$(PCAP_DIR)\WPCAP\LIBPCAP /I$(PCAP_DIR)\WPCAP\LIBPCAP\bpf \
14         /I$(PCAP_DIR)\WPCAP\LIBPCAP\lbl \
15         /I$(PCAP_DIR)\include $(AIRPCAP_CFLAGS) \
16         /Zm800 -D_U_="" -D_NEED_VAR_IMPORT_ $(LOCAL_CFLAGS) \
17         $(PORTAUDIO_CFLAGS) \
18         $(HHC_CFLAGS)
19         
20 CFLAGS=-WX $(GENERATED_CFLAGS)  
21
22 CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
23
24 .c.obj::
25         $(CC) $(CVARSDLL) $(CFLAGS) $(WSUG_CFLAGS) -Fd.\ -c $<
26
27 include Makefile.common
28
29
30 # if you add files here, be sure to include them also in Makefile.am EXTRA_DIST
31 WIRESHARK_GTK_SRC = \
32         $(WIRESHARK_GTK_SRC) \
33         $(GENERATED_C_FILES) \
34         capture_if_details_dlg_win32.c
35
36 PORT_AUDIO_SRC = \
37 !IFDEF PORTAUDIO_DIR
38 !IF "$(PORTAUDIO_VERSION)" == "18"
39         pa_lib.c \
40 !ELSE
41         pa_allocation.c \
42         pa_converters.c \
43         pa_cpuload.c \
44         pa_dither.c \
45         pa_front.c \
46         pa_process.c \
47         pa_skeleton.c \
48         pa_stream.c \
49         pa_trace.c \
50         pa_win_util.c \
51         pa_win_hostapis.c \
52         pa_x86_plain_converters.c \
53         pa_win_waveformat.c \
54 !ENDIF
55         pa_win_wmme.c
56 !ENDIF
57
58 WIRESHARK_TAP_OBJECTS = $(WIRESHARK_TAP_SRC:.c=.obj)
59
60
61 WIRESHARK_GTK_OBJECTS = \
62         $(WIRESHARK_GTK_SRC:.c=.obj) \
63         $(DIRTY_GENERATED_C_FILES:.c=.obj) \
64         $(PORT_AUDIO_SRC:.c=.obj)
65
66 libui.lib       : ..\config.h $(WIRESHARK_GTK_OBJECTS) $(WIRESHARK_TAP_OBJECTS)
67         link /lib /out:libui.lib $(WIRESHARK_GTK_OBJECTS) $(WIRESHARK_TAP_OBJECTS) winmm.lib
68
69 # The shell script runs slowly, as multiple greps and seds are run
70 # for each input file; this is especially slow on Windows.  Therefore,
71 # if Python is present (as indicated by PYTHON being defined), we run
72 # a faster Python script to do that work instead.
73 #
74 # The first argument is the directory in which the source files live.
75 # The second argument is "plugin", to indicate that we should build
76 # a plugin.c file for a plugin.
77 # All subsequent arguments are the files to scan.
78 #
79 !IFDEF PYTHON
80 wireshark-tap-register.c: $(WIRESHARK_TAP_SRC) ../tools/make-tap-reg.py
81         @echo Making wireshark-tap-register.c (using python)
82         @$(PYTHON) "../tools/make-tap-reg.py" . taps $(WIRESHARK_TAP_SRC)
83 !ELSE
84 wireshark-tap-register.c: $(WIRESHARK_TAP_SRC) ../tools/make-tapreg-dotc Makefile.common
85         @echo Making wireshark-tap-register.c
86         @$(SH) ../tools/make-tapreg-dotc wireshark-tap-register.c . $(WIRESHARK_TAP_SRC)
87 !ENDIF
88
89 RUNLEX=..\tools\runlex.sh
90
91 text_import_scanner.h: text_import_scanner.c
92 text_import_scanner.obj : text_import_scanner.c
93         $(CC) $(CVARSDLL) $(GENERATED_CFLAGS) $(WSUG_CFLAGS) -Fd.\ -c $?
94
95 !IF "$(PORTAUDIO_VERSION)" == "18"
96 pa_lib.obj: $(PORTAUDIO_DIR)\pa_common\pa_lib.c
97         $(CC) -c $(LOCAL_CFLAGS) $?
98
99 pa_win_wmme.obj: $(PORTAUDIO_DIR)\pa_win_wmme\pa_win_wmme.c
100         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
101 !ELSE
102 pa_front.obj: $(PORTAUDIO_DIR)\src\common\pa_front.c
103         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
104
105 pa_allocation.obj: $(PORTAUDIO_DIR)\src\common\pa_allocation.c
106         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
107
108 pa_converters.obj: $(PORTAUDIO_DIR)\src\common\pa_converters.c
109         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
110
111 pa_cpuload.obj: $(PORTAUDIO_DIR)\src\common\pa_cpuload.c
112         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
113
114 pa_dither.obj: $(PORTAUDIO_DIR)\src\common\pa_dither.c
115         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
116
117 pa_process.obj: $(PORTAUDIO_DIR)\src\common\pa_process.c
118         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
119
120 pa_skeleton.obj: $(PORTAUDIO_DIR)\src\common\pa_skeleton.c
121         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
122
123 pa_stream.obj: $(PORTAUDIO_DIR)\src\common\pa_stream.c
124         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
125
126 pa_trace.obj: $(PORTAUDIO_DIR)\src\common\pa_trace.c
127         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
128
129 pa_win_wmme.obj: $(PORTAUDIO_DIR)\src\hostapi\wmme\pa_win_wmme.c
130         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
131
132 pa_win_util.obj: $(PORTAUDIO_DIR)\src\os\win\pa_win_util.c
133         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
134
135 pa_win_hostapis.obj: $(PORTAUDIO_DIR)\src\os\win\pa_win_hostapis.c
136         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
137
138 pa_x86_plain_converters.obj: $(PORTAUDIO_DIR)\src\os\win\pa_x86_plain_converters.c
139         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
140
141 pa_win_waveformat.obj: $(PORTAUDIO_DIR)\src\os\win\pa_win_waveformat.c
142         $(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
143
144 !ENDIF
145
146 clean:
147         rm -f $(WIRESHARK_GTK_OBJECTS) $(WIRESHARK_TAP_OBJECTS) libui.lib *.pdb doxygen.cfg html/*.* wireshark-tap-register-cache.pkl
148         if exist html rmdir html
149
150 distclean: clean
151
152 maintainer-clean: distclean
153         rm -f $(GENERATED_FILES)
154
155 # convert doxygen.cfg.in to doxygen.cfg with stamped version info
156 doxygen.cfg: ..\config.nmake doxygen.cfg.in
157 !IFDEF DOXYGEN
158         sed -e s/@VERSION@/$(VERSION)/ \
159             < doxygen.cfg.in > $@
160 !ENDIF
161
162 doxygen-run:
163 !IFDEF DOXYGEN
164         $(DOXYGEN) doxygen.cfg
165 !ENDIF
166
167 # MS html help compiler hhc returns 1 on success, but as nmake expects 0 it would stop here.
168 # the prepended -1 will raise the accepted error levels of nmake, so it will continue
169 doxygen.chm:
170 !IFDEF HHC
171         -1 $(HHC) html\index.hhp
172 !ENDIF
173
174 doxygen: doxygen.cfg doxygen-run doxygen.chm
175
176 checkapi: checkapi-base checkapi-todo
177
178 checkapi-base:
179         $(PERL) ../tools/checkAPIs.pl -g deprecated-gtk \
180         $(WIRESHARK_GTK_SRC) \
181         $(WIRESHARK_TAP_SRC)
182
183 checkapi-todo:
184         $(PERL) ../tools/checkAPIs.pl -M -g deprecated-gtk-todo \
185         $(WIRESHARK_GTK_SRC) \
186         $(WIRESHARK_TAP_SRC)