From Harald Welte:
[obnox/wireshark/wip.git] / asn1 / Makefile.inc.nmake
1 # To be included into the asn1 Makefiles for Windows builds
2 #
3 # $Id$
4 #
5 #
6 # Wireshark - Network traffic analyzer
7 # By Gerald Combs <gerald@wireshark.org>
8 # Copyright 1998 Gerald Combs
9 #
10 # This program is free software; you can redistribute it and/or
11 # modify it under the terms of the GNU General Public License
12 # as published by the Free Software Foundation; either version 2
13 # of the License, or (at your option) any later version.
14 #
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 # GNU General Public License for more details.
19 #
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
23
24
25 DISSECTOR=../../epan/dissectors/packet-$(PROTOCOL_NAME).c
26 # This header file need not exist/get generated.  It is only used when cleaning.
27 DISSECTOR_HEADER=../../epan/dissectors/packet-$(PROTOCOL_NAME).h
28
29 all: generate_export $(DISSECTOR)
30
31 generate_export: $(EXPORT_FILES)
32
33 !IFNDEF PROTO_OPT
34 PROTO_OPT = -p $(PROTOCOL_NAME)
35 !ENDIF
36
37 $(DISSECTOR): ../../tools/asn2wrs.py $(SRC_FILES) $(EXTRA_CNF)
38 !IFDEF PYTHON
39         $(PYTHON) "../../tools/asn2wrs.py" \
40                 $(A2W_FLAGS) \
41                 $(PROTO_OPT) \
42                 -c ./$(PROTOCOL_NAME).cnf \
43                 -s ./packet-$(PROTOCOL_NAME)-template \
44                 -D . \
45                 -O ../../epan/dissectors \
46                 $(EXT_ASN_FILE_LIST) $(ASN_FILE_LIST) $(EXT_ASN_FILE_LIST_LATE)
47 !ELSE
48         @echo Error: You need Python to use asn2wrs.py
49         @exit 1
50 !ENDIF
51
52 !IFDEF EXPORT_FILES
53 $(EXPORT_FILES): ../../tools/asn2wrs.py $(SRC_FILES)
54 !IFDEF PYTHON
55         $(PYTHON) "../../tools/asn2wrs.py" \
56                 -E $(A2W_FLAGS) \
57                 $(PROTO_OPT) \
58                 -c ./$(PROTOCOL_NAME).cnf \
59                 -D . \
60                 $(EXT_ASN_FILE_LIST) $(ASN_FILE_LIST) $(EXT_ASN_FILE_LIST_LATE)
61 !ELSE
62         @echo Error: You need Python to use asn2wrs.py
63         @exit 1
64 !ENDIF
65 !ENDIF
66
67 # Don't clean these up until/unless we start building them...
68 #               $(DISSECTOR) \
69 #               $(DISSECTOR_HEADER)
70 clean:
71         rm -f parsetab.py \
72                 parsetab.pyc \
73                 *-exp.cnf \
74                 packet-*-{dis-tab,ettarr,ett,fn,hfarr,hf,table*,val}.[hc]
75
76
77 distclean: clean
78
79 maintainer-clean: distclean
80
81 # Fix EOL in generated dissectors. Cygwin's python generates files with
82 # mixed EOL styles, which can't be commited to the SVN repository.
83 # Stuff included from template and "cnf" files has "\r\n" on windows, while
84 # the generated stuff has "\n".
85
86 fix_eol: $(DISSECTOR)
87         u2d $(DISSECTOR) $(DISSECTOR_HEADER)
88