from Gerhard Gappmeier (ascolab):
[obnox/wireshark/wip.git] / plugins / opcua / Makefile.nmake
1 # Makefile.nmake\r
2 # nmake file for OpcUa plugin\r
3 #\r
4 # $Id: Makefile.nmake,v 1.1.1.1 2006/07/12 09:17:41 gergap Exp $\r
5 #\r
6 \r
7 include ..\..\config.nmake\r
8 \r
9 ############### no need to modify below this line #########\r
10 \r
11 include Makefile.common\r
12 \r
13 CFLAGS=/DHAVE_CONFIG_H /I../.. /I../../wiretap $(GLIB_CFLAGS) \\r
14         /I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)\r
15 \r
16 LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS)\r
17 \r
18 !IFDEF ENABLE_LIBWIRESHARK\r
19 LINK_PLUGIN_WITH=..\..\epan\libwireshark.lib ..\..\epan\dissectors\dissectors.lib\r
20 CFLAGS=/DHAVE_WIN32_LIBWIRESHARK_LIB /D_NEED_VAR_IMPORT_ $(CFLAGS)\r
21 \r
22 DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)\r
23 \r
24 OBJECTS=$(DISSECTOR_OBJECTS) plugin.obj\r
25 \r
26 opcua.dll opcua.exp opcua.lib : $(OBJECTS) $(LINK_PLUGIN_WITH) \r
27         link -dll /out:opcua.dll $(LDFLAGS) $(OBJECTS) $(LINK_PLUGIN_WITH)  \\r
28         $(GLIB_LIBS)\r
29 \r
30 #\r
31 # Build plugin.c, which contains the plugin version[] string, a\r
32 # function plugin_register() that calls the register routines for all\r
33 # protocols, and a function plugin_reg_handoff() that calls the handoff\r
34 # registration routines for all protocols.\r
35 #\r
36 # We do this by scanning sources.  If that turns out to be too slow,\r
37 # maybe we could just require every .o file to have an register routine\r
38 # of a given name (packet-aarp.o -> proto_register_aarp, etc.).\r
39 #\r
40 # Formatting conventions:  The name of the proto_register_* routines an\r
41 # proto_reg_handoff_* routines must start in column zero, or must be\r
42 # preceded only by "void " starting in column zero, and must not be\r
43 # inside #if.\r
44 #\r
45 # DISSECTOR_SRC is assumed to have all the files that need to be scanned.\r
46 #\r
47 # For some unknown reason, having a big "for" loop in the Makefile\r
48 # to scan all the files doesn't work with some "make"s; they seem to\r
49 # pass only the first few names in the list to the shell, for some\r
50 # reason.\r
51 #\r
52 # Therefore, we have a script to generate the plugin.c file.\r
53 # The shell script runs slowly, as multiple greps and seds are run\r
54 # for each input file; this is especially slow on Windows.  Therefore,\r
55 # if Python is present (as indicated by PYTHON being defined), we run\r
56 # a faster Python script to do that work instead.\r
57 #\r
58 # The first argument is the directory in which the source files live.\r
59 # The second argument is "plugin", to indicate that we should build\r
60 # a plugin.c file for a plugin.\r
61 # All subsequent arguments are the files to scan.\r
62 #\r
63 plugin.c: $(DISSECTOR_SRC)\r
64 !IFDEF PYTHON\r
65         @echo Making plugin.c (using python)\r
66         @$(PYTHON) ../../tools/make-dissector-reg.py . plugin $(DISSECTOR_SRC)\r
67 !ELSE\r
68         @echo Making plugin.c (using sh)\r
69         @$(SH) ../../tools/make-dissector-reg . plugin $(DISSECTOR_SRC)\r
70 !ENDIF\r
71 \r
72 !ENDIF\r
73 \r
74 clean:\r
75         rm -f $(OBJECTS) opcua.dll opcua.exp opcua.lib *.pdb\r
76 \r
77 distclean: clean\r
78 \r
79 maintainer-clean: distclean\r