explain yacc build product dependency so it is not removed
[openafs.git] / src / comerr / Makefile.in
index bb97ef7..4b0c6c1 100644 (file)
@@ -6,80 +6,74 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
+include @TOP_OBJDIR@/src/config/Makefile.lwp
 
-CFLAGS=${OPTMZ} -I${TOP_INCDIR} -I${TOP_OBJDIR}/src/config -I. -I${srcdir} ${XCFLAGS}
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
 
-all: ukinstall compile_et ${TOP_INCDIR}/afs/com_err.h ${TOP_INCDIR}/afs/error_table.h ${TOP_INCDIR}/afs/mit-sipb-cr.h ${TOP_LIBDIR}/libcom_err.a
+all: compile_et ${TOP_INCDIR}/afs/com_err.h ${TOP_INCDIR}/afs/error_table.h ${TOP_INCDIR}/afs/mit-sipb-cr.h ${TOP_LIBDIR}/libcom_err.a
+
+buildtools: compile_et
+
+${TOP_INCDIR}/afs/com_err.h: com_err.h
+       ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/error_table.h: error_table.h
+       ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/mit-sipb-cr.h: mit-sipb-cr.h
+       ${INSTALL_DATA} $? $@
+
+${TOP_LIBDIR}/libcom_err.a: libcom_err.a
+       ${INSTALL_DATA} $? $@
 
 et_lex.lex.c: et_lex.lex.l
        $(RM) -f et_lex.lex.c
-       $(LEX) -t $? > et_lex.lex.c
+       $(LEX) -t $(srcdir)/et_lex.lex.l > et_lex.lex.c
 
 compile_et:    compile_et.o error_table.o
        case $(SYS_NAME) in \
-       *_linux* ) \
-       ${CC} ${CFLAGS} -o compile_et compile_et.o error_table.o -L${TOP_LIBDIR} -lafsutil;; \
+       *_linux* | *_umlinux* ) \
+       $(AFS_LDRULE) compile_et.o error_table.o -L${TOP_LIBDIR} -lafsutil;; \
        * ) \
-       ${CC} ${CFLAGS} -o compile_et compile_et.o error_table.o -L${TOP_LIBDIR} -lafsutil -ll;; \
+       $(AFS_LDRULE) compile_et.o error_table.o -L${TOP_LIBDIR} -lafsutil -ll;; \
        esac
 
 libcom_err.a: error_msg.o et_name.o com_err.o AFS_component_version_number.o
        $(RM) -f $@
        $(AR) crv $@ error_msg.o et_name.o com_err.o AFS_component_version_number.o
        $(RANLIB) $@
+
 #
-# Installation targets
+# When we build this file, we're using a .c file that's in the object directory,
+# so we need to add the source directory to the includes to pick up local headers.
 #
-ukinstall: \
-       ${UKERNELDIR}/afs \
-       ${UKERNELDIR}/afs/com_err.c \
-       ${UKERNELDIR}/afs/com_err.h \
-       ${UKERNELDIR}/afs/error_msg.c \
-       ${UKERNELDIR}/afs/error_table.h \
-       ${UKERNELDIR}/afs/mit-sipb-cr.h \
-       ${UKERNELDIR}/afs/internal.h \
-       ${UKERNELDIR}/afs/et_name.c
-
-install:  ${DESTDIR}${bindir}/compile_et ${DESTDIR}${includedir}/afs/com_err.h ${DESTDIR}${includedir}/afs/error_table.h ${DESTDIR}${includedir}/afs/mit-sipb-cr.h ${DESTDIR}${libdir}/afs/libcom_err.a
-
-${UKERNELDIR}/afs:
-       mkdir -p $@
-
-${UKERNELDIR}/afs/com_err.c: com_err.c
-       ${INSTALL} $? $@
-
-${UKERNELDIR}/afs/com_err.h: com_err.h
-       ${INSTALL} $? $@
-
-${UKERNELDIR}/afs/error_msg.c: error_msg.c
-       ${INSTALL} $? $@
-
-${UKERNELDIR}/afs/error_table.h: error_table.h
-       ${INSTALL} $? $@
-
-${UKERNELDIR}/afs/mit-sipb-cr.h: mit-sipb-cr.h
-       ${INSTALL} $? $@
-
-${UKERNELDIR}/afs/internal.h: internal.h
-       ${INSTALL} $? $@
-
-${UKERNELDIR}/afs/et_name.c: et_name.c
-       ${INSTALL} $? $@
-
-${DEST}/bin/compile_et: compile_et
-       ${INSTALL} $? $@
+CFLAGS_error_table.o= -I${srcdir} @CFLAGS_NOUNUSED@ @CFLAGS_NOOLDSTYLE@
 
-${DEST}/include/afs/com_err.h: com_err.h
-       ${INSTALL} $? $@
-
-${DEST}/include/afs/error_table.h: error_table.h 
-       ${INSTALL} $? $@
-
-${DEST}/include/afs/mit-sipb-cr.h: mit-sipb-cr.h
-       ${INSTALL} $? $@
-
-${DEST}/lib/afs/libcom_err.a: libcom_err.a
-       ${INSTALL} $? $@
+#
+# Installation targets
+#
+install: compile_et com_err.h error_table.h mit-sipb-cr.h libcom_err.a
+       ${INSTALL} -d ${DESTDIR}${bindir}
+       ${INSTALL} -d ${DESTDIR}${includedir}/afs
+       ${INSTALL} -d ${DESTDIR}${libdir}/afs
+       ${INSTALL_PROGRAM} compile_et ${DESTDIR}${bindir}/afs_compile_et
+       ${INSTALL_DATA} ${srcdir}/com_err.h ${DESTDIR}${includedir}/afs/com_err.h
+       ${INSTALL_DATA} ${srcdir}/error_table.h ${DESTDIR}${includedir}/afs/error_table.h
+       ${INSTALL_DATA} ${srcdir}/mit-sipb-cr.h ${DESTDIR}${includedir}/afs/mit-sipb-cr.h
+       ${INSTALL_DATA} libcom_err.a ${DESTDIR}${libdir}/afs/libcom_err.a
+
+dest: compile_et com_err.h error_table.h mit-sipb-cr.h libcom_err.a
+       ${INSTALL} -d ${DEST}/bin
+       ${INSTALL} -d ${DEST}/include/afs
+       ${INSTALL} -d ${DEST}/lib/afs
+       ${INSTALL_PROGRAM} compile_et ${DEST}/bin/afs_compile_et
+       ${INSTALL_DATA} ${srcdir}/com_err.h ${DEST}/include/afs/com_err.h
+       ${INSTALL_DATA} ${srcdir}/error_table.h ${DEST}/include/afs/error_table.h
+       ${INSTALL_DATA} ${srcdir}/mit-sipb-cr.h ${DEST}/include/afs/mit-sipb-cr.h
+       ${INSTALL_DATA} libcom_err.a ${DEST}/lib/afs/libcom_err.a
 
 clean:
        $(RM) -f *~ \#* *.bak *.otl *.aux *.toc *.PS *.dvi *.x9700 *.ps \
@@ -92,35 +86,7 @@ test:
        cd test; $(MAKE)
 
 compile_et.o:  AFS_component_version_number.c
-error_table.o: et_lex.lex.c
+# specify yacc build product as a dependency so our .c.o rule will apply
+error_table.o: et_lex.lex.c error_table.c
 
 include ../config/Makefile.version
-${DESTDIR}${bindir}/compile_et: compile_et
-       ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/com_err.h: com_err.h
-       ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/com_err.h: com_err.h
-       ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/error_table.h: error_table.h
-       ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/error_table.h: error_table.h
-       ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/mit-sipb-cr.h: mit-sipb-cr.h
-       ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/mit-sipb-cr.h: mit-sipb-cr.h
-       ${INSTALL} $? $@
-
-${DESTDIR}${libdir}/afs/libcom_err.a: libcom_err.a
-       ${INSTALL} $? $@
-
-${TOP_LIBDIR}/libcom_err.a: libcom_err.a
-       ${INSTALL} $? $@
-
-dest:  ${DEST}/bin/compile_et ${DEST}/include/afs/com_err.h ${DEST}/include/afs/error_table.h ${DEST}/include/afs/mit-sipb-cr.h ${DEST}/lib/afs/libcom_err.a
-