aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorUlf Lamping <ulf.lamping@web.de>2004-07-18 20:21:20 +0000
committerUlf Lamping <ulf.lamping@web.de>2004-07-18 20:21:20 +0000
commit4fdb83056924de6c937b1ce2df9fdfe294683f97 (patch)
tree3c7768b58064e624e6f3ab7b03cdaf10490f9498 /epan
parent0e754b672553d9f640c8226df41bb7c781fcdec2 (diff)
first attempt to make Win32 generation (nmake) ready for the dissector movings (but still incomplete)
svn path=/trunk/; revision=11415
Diffstat (limited to 'epan')
-rw-r--r--epan/Makefile.nmake41
-rw-r--r--epan/dissectors/Makefile.nmake67
2 files changed, 66 insertions, 42 deletions
diff --git a/epan/Makefile.nmake b/epan/Makefile.nmake
index b6e52cf18c..4c32f050b5 100644
--- a/epan/Makefile.nmake
+++ b/epan/Makefile.nmake
@@ -49,7 +49,6 @@ OBJECTS=addr_and_mask.obj \
packet.obj \
plugins.obj \
proto.obj \
- register.obj \
resolv.obj \
sna-utils.obj \
strutil.obj \
@@ -129,43 +128,3 @@ doxygen-run:
doxygen: doxygen.cfg doxygen-run
-#
-# Build "register.c", which contains a function "register_all_protocols()"
-# that calls the register routines for all protocols.
-#
-# We do this by grepping through sources. If that turns out to be too slow,
-# maybe we could just require every .o file to have an register routine
-# of a given name (packet-aarp.o -> proto_register_aarp, etc.).
-#
-# Formatting conventions: The name of the proto_register_* routines must
-# start in column zero, or must be preceded only by "void " starting in
-# column zero, and must not be inside #if.
-#
-# We assume that all dissector routines are in "packet-XXX.c" files.
-#
-# For some unknown reason, having a big "for" loop in the Makefile
-# to scan all the "packet-XXX.c" files doesn't work with some "make"s;
-# they seem to pass only the first few names in the list to the shell,
-# for some reason.
-#
-# Therefore, we have a script to generate the "register.c" file.
-#
-# The first argument is the name of the file to write.
-# The second argument is the directory in which the source files live.
-# All subsequent arguments are the files to scan.
-#
-# On Windows, however, that script runs slowly, as multiple greps
-# and seds are run for each input file, so, if Python is present
-# (as indicated by PYTHON being defined), we run a faster Python
-# script to do that work instead. That script doesn't take the name
-# of the file to write as an argument; it always writes to
-# "register.c".
-#
-register.c: $(DISSECTOR_SRC)
-!IFDEF PYTHON
- @echo Making register.c (using python)
- @$(PYTHON) ..\make-reg-dotc.py . $(DISSECTOR_SRC)
-!ELSE
- @echo Making register.c (using sh)
- @$(SH) ../make-reg-dotc register.c . $(DISSECTOR_SRC)
-!ENDIF
diff --git a/epan/dissectors/Makefile.nmake b/epan/dissectors/Makefile.nmake
index 587843048d..934571ee58 100644
--- a/epan/dissectors/Makefile.nmake
+++ b/epan/dissectors/Makefile.nmake
@@ -22,9 +22,74 @@ DISSECTOR_SUPPORT_SRC = $(DISSECTOR_SUPPORT_SRC:../=)
DISSECTOR_SUPPORT_OBJECTS = $(DISSECTOR_SUPPORT_SRC:.c=.obj)
#dissectors.lib: ../../config.h $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) $(EXTRA_OBJECTS)
-dissectors.lib: ../../config.h $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS)
+dissectors.lib: register.obj packet-ncp2222.c x11-declarations.h x11-register-info.h ../../config.h $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS)
link /lib /out:dissectors.lib $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS)
+#
+# The header files listed here are built from x11-fields using Perl;
+# we declare a dependency here so that they get built.
+#
+packet-x11.obj : packet-x11.c x11-declarations.h x11-register-info.h
+
+#
+# Build various header files for the X11 dissector.
+#
+x11-declarations.h x11-register-info.h: x11-fields process-x11-fields.pl
+ $(PERL) process-x11-fields.pl <x11-fields
+
+
+#
+# Build "register.c", which contains a function "register_all_protocols()"
+# that calls the register routines for all protocols.
+#
+# We do this by grepping through sources. If that turns out to be too slow,
+# maybe we could just require every .o file to have an register routine
+# of a given name (packet-aarp.o -> proto_register_aarp, etc.).
+#
+# Formatting conventions: The name of the proto_register_* routines must
+# start in column zero, or must be preceded only by "void " starting in
+# column zero, and must not be inside #if.
+#
+# We assume that all dissector routines are in "packet-XXX.c" files.
+#
+# For some unknown reason, having a big "for" loop in the Makefile
+# to scan all the "packet-XXX.c" files doesn't work with some "make"s;
+# they seem to pass only the first few names in the list to the shell,
+# for some reason.
+#
+# Therefore, we have a script to generate the "register.c" file.
+#
+# The first argument is the name of the file to write.
+# The second argument is the directory in which the source files live.
+# All subsequent arguments are the files to scan.
+#
+# On Windows, however, that script runs slowly, as multiple greps
+# and seds are run for each input file, so, if Python is present
+# (as indicated by PYTHON being defined), we run a faster Python
+# script to do that work instead. That script doesn't take the name
+# of the file to write as an argument; it always writes to
+# "register.c".
+#
+register.c: $(DISSECTOR_SRC)
+!IFDEF PYTHON
+ @echo Making register.c (using python)
+ @$(PYTHON) make-reg-dotc.py . $(DISSECTOR_SRC)
+!ELSE
+ @echo Making register.c (using sh)
+ @$(SH) make-reg-dotc register.c . $(DISSECTOR_SRC)
+!ENDIF
+
+packet-ncp2222.c : ncp2222.py
+!IFDEF PYTHON
+ @echo Making packet-ncp2222.c
+ $(PYTHON) ncp2222.py -o packet-ncp2222.c
+!ELSE
+ @echo Faking packet-ncp2222.c...
+ @echo Python is required to build the NCP disector
+ @echo Hiding packet-ncp.c...
+ mv packet-ncp.c packet-ncp.c.save
+ touch packet-ncp.c $@
+!ENDIF
clean:
rm -f dissectors.lib $(PDB_FILE) \