FIGURES = figures/ost-setattr-generic.png \ figures/ost-punch-generic.png \ figures/mds-reint-setattr-generic.png \ figures/mds-reint-setxattr-generic.png \ figures/mds-getxattr-generic.png \ figures/ldlm-enqueue-generic.png \ figures/ldlm-enqueue-intent-layout-generic.png \ figures/ldlm-bl-callback-generic.png \ figures/ldlm-cp-callback-generic.png \ figures/ldlm-cancel-generic.png \ figures/chmod_rpcs.png \ figures/mds-reint-setattr-request.png \ figures/mds-reint-setattr-reply.png \ figures/mds-reint-setxattr-request.png \ figures/mds-reint-setxattr-reply.png \ figures/touch_rpcs.png \ figures/ldlm-enqueue-intent-layout-request.png \ figures/ldlm-enqueue-intent-layout-reply.png \ figures/mds-getxattr-request.png \ figures/mds-getxattr-reply.png \ figures/ost-setattr-request.png \ figures/ost-setattr-reply.png \ figures/truncate_rpcs.png \ figures/ldlm-enqueue-extent-lvb-reply.png \ figures/ldlm-bl-callback-request.png \ figures/ldlm-bl-callback-reply.png \ figures/ldlm-cp-callback-request.png \ figures/ldlm-cp-callback-reply.png \ figures/ldlm-cancel-request.png \ figures/ldlm-cancel-reply.png \ figures/ost-punch-request.png \ figures/ost-punch-reply.png \ figures/fstat_rpcs.png \ figures/ldlm-enqueue-intent-getattr-request.png \ figures/ldlm-enqueue-intent-getattr-reply.png \ figures/ldlm-enqueue-intent-lvb-reply.png \ figures/ldlm-enqueue-request.png \ figures/ldlm-enqueue-reply.png \ figures/ldlm-gl-callback-request.png \ figures/ldlm-gl-callback-reply.png \ figures/ldlm-enqueue-intent-getattr-generic.png \ figures/ldlm-gl-callback-generic.png \ figures/statfs_rpcs.png \ figures/mds-statfs-request.png \ figures/mds-statfs-reply.png \ figures/ost-statfs-request.png \ figures/ost-statfs-reply.png \ figures/mds-statfs-generic.png \ figures/ost-statfs-generic.png \ figures/ldlm-enqueue-intent-getxattr-request.png \ figures/ldlm-enqueue-intent-getxattr-reply.png \ figures/ldlm-enqueue-intent-getxattr-generic.png TEXT = protocol.txt \ introduction.txt \ data_types.txt \ lustre_file_ids.txt \ lustre_handle.txt \ ptlrpc_body.txt \ mdt_structs.txt \ mdt_body.txt \ obd_statfs.txt \ mds_reint_structs.txt \ mdt_rec_reint.txt \ mdt_rec_setattr.txt \ mdt_rec_setxattr.txt \ ost_setattr_structs.txt \ connection.txt \ timeouts.txt \ file_id.txt \ ldlm.txt \ layout_intent.txt \ ldlm_resource_id.txt \ ldlm_intent.txt \ ldlm_resource_desc.txt \ ldlm_lock_desc.txt \ ldlm_request.txt \ ldlm_reply.txt \ ost_lvb.txt \ early_lock_cancellation.txt \ llog.txt \ path_lookup.txt \ recovery.txt \ security.txt \ lustre_messages.txt \ lustre_operations.txt \ ost_setattr.txt \ ost_punch.txt \ ost_statfs.txt \ mds_reint.txt \ mds_statfs.txt \ mds_getxattr.txt \ ldlm_enqueue.txt \ ldlm_bl_callback.txt \ ldlm_cp_callback.txt \ ldlm_gl_callback.txt \ ldlm_cancel.txt \ file_system_operations.txt \ getattr.txt \ setattr.txt \ statfs.txt \ getxattr.txt \ setxattr.txt \ glossary.txt .SUFFIXES : .gnuplot .gv .pdf .png .fig .PHONY: all all: protocol.html protocol.pdf .PHONY: check check: $(TEXT) @echo "Are there lines with trailing white space?" build/whitespace.sh $< protocol.html: $(FIGURES) $(TEXT) asciidoc protocol.txt protocol.pdf: $(FIGURES) $(TEXT) a2x --no-xmllint -f pdf --fop protocol.txt .gv.png: dot -Tpng $< -o $@ .fig.png: fig2dev -L png $< $@ .PHONY : clean clean: rm -f *.xml *.html *.pdf figures/*.png