aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/Makefile.inc.nmake
blob: 95c3392de08cc6c49db9ccd8b1c0abf3bc0ec47a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# To be included into the asn1 Makefiles for Windows builds
#
# $Id$
#
#
# Wireshark - Network traffic analyzer
# By Gerald Combs <gerald@wireshark.org>
# Copyright 1998 Gerald Combs
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.


UNIX2DOS=$(PERL) ../../tools/unix2dos.pl



all: generate_dissector

generate_dissector: $(DISSECTOR_FILES)

$(DISSECTOR_FILES): ../../tools/asn2wrs.py $(SRC_FILES) $(EXTRA_CNF)
!IFDEF PYTHON
	$(PYTHON) "../../tools/asn2wrs.py" \
		$(A2W_FLAGS) \
		-p $(PROTOCOL_NAME) \
		-c $(PROTOCOL_NAME).cnf \
		-s packet-$(PROTOCOL_NAME)-template \
		$(ASN_FILE_LIST) $(EXT_ASN_FILE_LIST)
!ELSE
	@echo Error: You need Python to use asn2wrs.py
	@exit 1
!ENDIF

clean:
	rm -f parsetab.py \
		parsetab.pyc \
		$(DISSECTOR_FILES) \
		*-exp.cnf \
		packet-*-{dis-tab,ettarr,ett,fn,hfarr,hf,table*,val}.[hc]


distclean: clean

maintainer-clean: distclean

# Fix EOL in generated dissectors. Cygwin's python generates files with
# mixed EOL styles, which can't be commited to the SVN repository.
# Stuff included from template and "cnf" files has "\r\n" on windows, while
# the generated stuff has "\n".

fix_eol: generate_dissector
	move packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).c.tmp
	$(UNIX2DOS) < packet-$(PROTOCOL_NAME).c.tmp > packet-$(PROTOCOL_NAME).c
	del /f packet-$(PROTOCOL_NAME).c.tmp 
!IF $(NEED_PACKET_PROTO_H)
	move packet-$(PROTOCOL_NAME).h packet-$(PROTOCOL_NAME).h.tmp
	$(UNIX2DOS) < packet-$(PROTOCOL_NAME).h.tmp > packet-$(PROTOCOL_NAME).h
	del /f packet-$(PROTOCOL_NAME).h.tmp
!ENDIF

copy_files: generate_dissector
	xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
!IF $(NEED_PACKET_PROTO_H)
	xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
!ENDIF