Wireshark-dev: [Wireshark-dev] RFC Try 2: Rework of Makefiles in asn1-directory
From: Joerg Mayer <jmayer@xxxxxxxxx>
Date: Mon, 24 Sep 2007 16:03:47 +0200
OK, I've committed the changes to asn2wrs and have updated the Makefiles
to (hopefully) accomodate Thomas' comments.
I'd like some feedback whether this has been tested on Windows, as I
can only test on Linux.
ciao
Joerg
--
Joerg Mayer <jmayer@xxxxxxxxx>
We are stuck with technology when what we really want is just stuff that
works. Some say that should read Microsoft instead of technology.
Index: asn1/Makefile.nmake
===================================================================
--- asn1/Makefile.nmake (revision 22931)
+++ asn1/Makefile.nmake (working copy)
@@ -2,7 +2,27 @@
## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
#
# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@xxxxxxxxxxxxx>
+# 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.
+
all: ber per
ber: \
Index: asn1/Makefile.inc.nmake
===================================================================
--- asn1/Makefile.inc.nmake (revision 0)
+++ asn1/Makefile.inc.nmake (revision 0)
@@ -0,0 +1,71 @@
+# To be included into the asn1 Makefiles for Windows builds
+#
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@xxxxxxxxxxxxx>
+# 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) $(EXTRA_CNF)
+
+$(DISSECTOR_FILES): ../../tools/asn2wrs.py $(SRC_FILES)
+!IFDEF PYTHON
+ $(PYTHON) "../../tools/asn2wrs.py" \
+ $(A2W_FLAGS) \
+ -p $(PROTOCOL_NAME) \
+ -c $(PROTOCOL_NAME).cnf \
+ -s packet-$(PROTOCOL_NAME)-template \
+ $(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
+ move packet-$(PROTOCOL_NAME).h packet-$(PROTOCOL_NAME).h.tmp
+ $(UNIX2DOS) < packet-$(PROTOCOL_NAME).c.tmp > packet-$(PROTOCOL_NAME).c
+ $(UNIX2DOS) < packet-$(PROTOCOL_NAME).h.tmp > packet-$(PROTOCOL_NAME).h
+ del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
+
+copy_files: generate_dissector
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
+
Property changes on: asn1/Makefile.inc.nmake
___________________________________________________________________
Name: svn:keywords
+ Id
Name: svn:eol-style
+ native
Property changes on: asn1/camel
___________________________________________________________________
Name: svn:ignore
+ *-exp.cnf
Makefile.in
packet-*-{dis-tab,ettarr,ett,fn,hfarr,hf,table*,val}.[hc]
parsetab.py*
Index: asn1/camel/Makefile.common
===================================================================
--- asn1/camel/Makefile.common (revision 0)
+++ asn1/camel/Makefile.common (revision 0)
@@ -0,0 +1,70 @@
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@xxxxxxxxxxxxx>
+# 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.
+
+
+PROTOCOL_NAME=camel
+
+DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c \
+ packet-$(PROTOCOL_NAME).h
+
+EXT_ASN_FILE_LIST = \
+ ../ros/Remote-Operations-Information-Objects.asn \
+ ../ros/Remote-Operations-Generic-ROS-PDUs.asn
+
+ASN_FILE_LIST = \
+ TCAPMessages.asn \
+ CAP-object-identifiers.asn \
+ CAP-classes.asn \
+ CAP-datatypes.asn \
+ CAP-errorcodes.asn \
+ CAP-errortypes.asn \
+ CAP-operationcodes.asn \
+ CAP-GPRS-ReferenceNumber.asn \
+ CAP-gsmSCF-gsmSRF-ops-args.asn \
+ CAP-gsmSSF-gsmSCF-ops-args.asn \
+ CAP-gprsSSF-gsmSCF-ops-args.asn \
+ CAP-SMS-ops-args.asn \
+ CAP-U-ABORT-Data.asn
+
+# The packet-$(PROTOCOL_NAME)-template.h and $(PROTOCOL_NAME).asn
+# files do not exist # for all protocols: Please add/remove as required.
+EXTRA_DIST = \
+ $(ASN_FILE_LIST) \
+ packet-$(PROTOCOL_NAME)-template.c \
+ packet-$(PROTOCOL_NAME)-template.h \
+ $(PROTOCOL_NAME).asn \
+ $(PROTOCOL_NAME).cnf
+
+SRC_FILES = \
+ $(EXTRA_DIST) \
+ $(EXT_ASN_FILE_LIST)
+
+A2W_FLAGS= -b -X -T -L -e -k
+
+EXTRA_CNF=../inap/inap-exp.cnf \
+ ../gsmmap/gsm_map-exp.cnf
+
+../gsmmap/gsm_map-exp.cnf:
+ (cd ../gsmmap && $(MAKE) $(MAKEFLAGS))
+
+../inap/inap-exp.cnf:
+ (cd ../inap && $(MAKE) $(MAKEFLAGS))
+
Property changes on: asn1/camel/Makefile.common
___________________________________________________________________
Name: svn:keywords
+ Id
Name: svn:eol-style
+ native
Index: asn1/camel/Makefile.nmake
===================================================================
--- asn1/camel/Makefile.nmake (revision 22931)
+++ asn1/camel/Makefile.nmake (working copy)
@@ -1,48 +1,28 @@
## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
#
# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@xxxxxxxxxxxxx>
+# 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.
+
+include Makefile.common
include ../../config.nmake
+include ../Makefile.inc.nmake
-UNIX2DOS=$(PERL) ../../tools/unix2dos.pl
-
-PROTOCOL_NAME=camel
-DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).h
-COTRACTS_ASN= ../tcap/TC-Notation-Extensions.asn CAP-gsmSCF-gsmSRF-pkgs-contracts-acs.asn CAP-gsmSSF-gsmSCF-pkgs-contracts-acs.asn CAP-gprsSSF-gsmSCF-pkgs-contracts-acs.asn CAP-smsSSF-gsmSCF-pkgs-contracts-acs.asn
-ROS_ASN= ../ros/Remote-Operations-Information-Objects.asn ../ros/Remote-Operations-Generic-ROS-PDUs.asn
-ASN_FILE_LIST=TCAPMessages.asn CAP-object-identifiers.asn CAP-classes.asn CAP-datatypes.asn CAP-errorcodes.asn CAP-errortypes.asn CAP-operationcodes.asn CAP-GPRS-ReferenceNumber.asn CAP-gsmSCF-gsmSRF-ops-args.asn CAP-gsmSSF-gsmSCF-ops-args.asn CAP-gprsSSF-gsmSCF-ops-args.asn CAP-SMS-ops-args.asn CAP-U-ABORT-Data.asn $(ROS_ASN)
-
-all: generate_dissector
-
-generate_dissector: $(DISSECTOR_FILES)
-
-$(DISSECTOR_FILES): ../../tools/asn2wrs.py $(ASN_FILE_LIST) packet-$(PROTOCOL_NAME)-template.c packet-$(PROTOCOL_NAME)-template.h camel.cnf
-!IFDEF PYTHON
- $(PYTHON) "../../tools/asn2wrs.py" -b -X -T -L -e -k -p $(PROTOCOL_NAME) -c camel.cnf -s packet-$(PROTOCOL_NAME)-template $(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)
-
-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
- move packet-$(PROTOCOL_NAME).h packet-$(PROTOCOL_NAME).h.tmp
- $(UNIX2DOS) < packet-$(PROTOCOL_NAME).c.tmp > packet-$(PROTOCOL_NAME).c
- $(UNIX2DOS) < packet-$(PROTOCOL_NAME).h.tmp > packet-$(PROTOCOL_NAME).h
- del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
-
-copy_files: generate_dissector
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
Index: asn1/camel/Makefile.am
===================================================================
--- asn1/camel/Makefile.am (revision 0)
+++ asn1/camel/Makefile.am (revision 0)
@@ -0,0 +1,25 @@
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@xxxxxxxxxxxxx>
+# 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.
+
+
+include Makefile.common
+include ../Makefile.inc
+
Property changes on: asn1/camel/Makefile.am
___________________________________________________________________
Name: svn:keywords
+ Id
Name: svn:eol-style
+ native
Index: asn1/camel/Makefile
===================================================================
--- asn1/camel/Makefile (revision 22931)
+++ asn1/camel/Makefile (working copy)
@@ -1,19 +0,0 @@
-# $Id$
-
-PROTOCOL_NAME=camel
-DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).h
-ROS_ASN= ../ros/Remote-Operations-Information-Objects.asn ../ros/Remote-Operations-Generic-ROS-PDUs.asn
-ASN_FILE_LIST=TCAPMessages.asn CAP-object-identifiers.asn CAP-classes.asn CAP-datatypes.asn CAP-errorcodes.asn CAP-errortypes.asn CAP-operationcodes.asn CAP-GPRS-ReferenceNumber.asn CAP-gsmSCF-gsmSRF-ops-args.asn CAP-gsmSSF-gsmSCF-ops-args.asn CAP-gprsSSF-gsmSCF-ops-args.asn CAP-SMS-ops-args.asn CAP-U-ABORT-Data.asn $(ROS_ASN)
-
-all: generate_dissector
-
-generate_dissector: $(DISSECTOR_FILES)
-
-$(DISSECTOR_FILES): ../../tools/asn2wrs.py $(ASN_FILE_LIST) packet-$(PROTOCOL_NAME)-template.c packet-$(PROTOCOL_NAME)-template.h camel.cnf
- python ../../tools/asn2wrs.py -b -X -T -L -e -k -p $(PROTOCOL_NAME) -c camel.cnf -s packet-$(PROTOCOL_NAME)-template $(ASN_FILE_LIST)
-
-clean:
- rm -f parsetab.py parsetab.pyc $(DISSECTOR_FILES)
-
-copy_files: generate_dissector
- cp $(DISSECTOR_FILES) ../../epan/dissectors
Index: asn1/Makefile.inc
===================================================================
--- asn1/Makefile.inc (revision 0)
+++ asn1/Makefile.inc (revision 0)
@@ -0,0 +1,47 @@
+# To be included into the asn1 Makefiles
+#
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@xxxxxxxxxxxxx>
+# 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.
+
+
+all: generate_dissector
+
+generate_dissector: $(DISSECTOR_FILES) $(EXTRA_CNF)
+
+$(DISSECTOR_FILES): $(top_srcdir)/tools/asn2wrs.py $(SRC_FILES)
+ python $(top_srcdir)/tools/asn2wrs.py \
+ $(A2W_FLAGS) \
+ -p $(PROTOCOL_NAME) \
+ -c $(srcdir)/$(PROTOCOL_NAME).cnf \
+ -s $(srcdir)/packet-$(PROTOCOL_NAME)-template \
+ -D $(srcdir) \
+ $(ASN_FILE_LIST)
+
+copy_files: generate_dissector
+ cp $(DISSECTOR_FILES) $(top_srcdir)/epan/dissectors/
+
+CLEANFILES = \
+ parsetab.py \
+ parsetab.pyc \
+ $(DISSECTOR_FILES) \
+ *-exp.cnf \
+ packet-*-{dis-tab,ettarr,ett,fn,hfarr,hf,table*,val}.[hc]
+
Property changes on: asn1/Makefile.inc
___________________________________________________________________
Name: svn:keywords
+ Id
Name: svn:eol-style
+ native
Index: asn1/Makefile.am
===================================================================
--- asn1/Makefile.am (revision 22931)
+++ asn1/Makefile.am (working copy)
@@ -21,6 +21,9 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+SUBDIRS = \
+ camel
+
EXTRA_DIST = \
Makefile.nmake \
acp133/acp133.asn \
@@ -42,24 +45,6 @@
ansi_map/Makefile.nmake \
ansi_map/packet-ansi_map-template.c \
ansi_map/packet-ansi_map-template.h \
- camel/camel.asn \
- camel/CAP-classes.asn \
- camel/CAP-datatypes.asn \
- camel/CAP-errorcodes.asn \
- camel/CAP-errortypes.asn \
- camel/CAP-GPRS-ReferenceNumber.asn \
- camel/CAP-gprsSSF-gsmSCF-ops-args.asn \
- camel/CAP-gsmSCF-gsmSRF-ops-args.asn \
- camel/CAP-gsmSSF-gsmSCF-ops-args.asn \
- camel/CAP-object-identifiers.asn \
- camel/CAP-operationcodes.asn \
- camel/CAP-SMS-ops-args.asn \
- camel/CAP-U-ABORT-Data.asn \
- camel/camel.cnf \
- camel/Makefile \
- camel/Makefile.nmake \
- camel/packet-camel-template.c \
- camel/packet-camel-template.h \
cdt/cdt.asn \
cdt/cdt.cnf \
cdt/cdt-exp.cnf \
- Follow-Ups:
- Re: [Wireshark-dev] RFC Try 2: Rework of Makefiles in asn1-directory
- From: Joerg Mayer
- Re: [Wireshark-dev] RFC Try 2: Rework of Makefiles in asn1-directory
- From: Kukosa, Tomas
- Re: [Wireshark-dev] RFC Try 2: Rework of Makefiles in asn1-directory
- Prev by Date: Re: [Wireshark-dev] RFC: Revised Makefile(s) for asn1/ directory
- Next by Date: Re: [Wireshark-dev] RFC Try 2: Rework of Makefiles in asn1-directory
- Previous by thread: Re: [Wireshark-dev] add submenu into wireshark menu
- Next by thread: Re: [Wireshark-dev] RFC Try 2: Rework of Makefiles in asn1-directory
- Index(es):