]> git.lyx.org Git - lyx.git/blobdiff - forms/makefile
export patch from Dekel
[lyx.git] / forms / makefile
index 85f06e9cd69a0b6b8ae83f3dddf7146784e245e0..d8f6feba8050394b3d5e1a613d31a11337a6ab7d 100644 (file)
@@ -17,16 +17,16 @@ SHELL = /bin/sh
 # Various commands
 FDESIGN = fdesign
 
-SRCS = bullet_forms.fd cite.fd credits_form.fd form1.fd \
-       latexoptions.fd layout_forms.fd lyx.fd lyx_sendfax.fd math_forms.fd \
+SRCS = bullet_forms.fd credits_form.fd form1.fd \
+       log_form.fd layout_forms.fd lyx.fd lyx_sendfax.fd math_forms.fd \
        print_form.fd sp_form.fd
 
-OBJS = bullet_forms.c cite.c credits_form.c form1.c \
-       latexoptions.c layout_forms.c lyx.c lyx_sendfax.c math_forms.c \
+OBJS = bullet_forms.c credits_form.c form1.c \
+       log_form.c layout_forms.c lyx.c lyx_sendfax.c math_forms.c \
        print_form.c sp_form.c
 
-COBJS = bullet_forms.C cite.C credits_form.C form1.C \
-       latexoptions.C layout_forms.C lyx.C lyx_sendfax.C math_forms.C \
+COBJS = bullet_forms.C credits_form.C form1.C \
+       log_form.C layout_forms.C lyx.C lyx_sendfax.C math_forms.C \
        print_form.C sp_form.C
 
 all:
@@ -38,16 +38,41 @@ c: $(OBJS)
 
 d: c $(COBJS)
 
+#
+# -e 's/\(extern\) \(void.*FL_OBJECT\)/\1 "C" \2/'
+#
+# We need the callbacks to all be declared as:  extern "C" void
+#
+# -e 's,\(generated with fdesign\)\(.*\)\(\*\*/\),\1 \3,';\
+#
+# Clean up the line with the date in it.  This means we'll have fewer false
+# updates (where the only thing that changed was the date).
+#
 e: c
        for hfil in *.h ; do \
                if [ -f "$$hfil.patch" ] ; then \
                        (echo "Patching $$hfil with $$hfil.patch" ; \
                        patch -s $$hfil < $$hfil.patch) \
                fi; \
+               sed < $$hfil > $$hfil.tmp \
+                       -e 's/\(extern\) \(void.*FL_OBJECT\)/\1 "C" \2/' \
+                       -e 's,\(generated with fdesign\)\(.*\)\(\*\*/\),\1 \3,';\
+               mv $$hfil.tmp $$hfil; \
        done
 
 updatesrc: d e
-       for fil in *.C *.h ; do cp $$fil ../src ; done
+       @echo
+       @echo "Beware some files may be installed in the wrong directory!" >&2
+       @echo "In particular be careful with gui-indep forms.  Make sure">&2
+       @echo "they have been removed from the files here otherwise we'll">&2
+       @echo "get junk code and errors at compile time.">&2
+       for fil in *.C *.h ; do \
+               if [ $$fil = "math_forms.C" -o $$fil = "math_forms.h" ]; then \
+                       cp $$fil ../src/mathed ; \
+               else \
+                       cp $$fil ../src ; \
+               fi \
+       done
 
 .fd.c:
        $(FDESIGN) -convert $<