include conf-Makefile PELLET = java -mx1024m -jar $(HOME)/src/pellet/lib/pellet.jar SOURCE_DIR = ../../../ontology/OBO_REL CURRENT_BFO_BRIDGE = 1-1 BFO_VERSIONS = 1-0 1-1 SRC = ro ro_bfo_bridge $(patsubst %,ro_bfo%_bridge,$(BFO_VERSIONS)) ro_full FULL = \ $(patsubst %,%.obo,$(SRC)) \ $(patsubst %,%.owl,$(SRC)) \ $(patsubst %,%.pro,$(SRC)) \ $(patsubst %,%.obo-xml,$(SRC)) \ $(patsubst %,%.obo.html,$(SRC)) \ RELEASE_FILES = $(FULL) all: $(FULL) check index.html show: echo $(FULL) check: all_pellet all_obocheck all_pellet: $(patsubst %,%.pellet,$(SRC)) test_bfo.pellet all_obocheck: $(patsubst %,%.obocheck,$(SRC)) index.html: ro.html cp $< $@ clean: rm ro.obo-xml ro.obo index.html ro.html ro_bfo_bridge.obo ro_bfo_bridge.owl # copy latest bridge to current file ro_bfo_bridge.owl: ro_bfo$(CURRENT_BFO_BRIDGE)_bridge.owl cp ro_bfo$(CURRENT_BFO_BRIDGE)_bridge.owl $@ # version-specific BFO bridges - just change the header ro_bfo%_bridge.obo: $(SOURCE_DIR)/ro_bfo_bridge.obo cat $(SOURCE_DIR)/idspace-bfo$*.obo $(SOURCE_DIR)/ro_bfo_bridge.obo > $@.tmp && mv $@.tmp $@ # RO + Bridge : uses latest ro_full.obo: ro.obo ro_bfo$(CURRENT_BFO_BRIDGE)_bridge.obo obo-merge-tags.pl -t idspace -t domain -t range -t relationship $< ro_bfo$(CURRENT_BFO_BRIDGE)_bridge.obo > $@.tmp && mv $@.tmp $@ .PRECIOUS: ro_full.obo ro_full.owl: ro_full.obo echo 'import: http://www.ifomis.org/bfo/1.1' > import.obo && \ cat import.obo $< > $<.plus_import.obo && \ go2owl $<.plus_import.obo > $@.tmp && mv $@.tmp $@ # fetch from source ro.obo: $(SOURCE_DIR)/ro_edit.obo cp $< $@ %.obo: $(SOURCE_DIR)/%.obo cp $< $@ # generic converters #%.obo-xml: $(SOURCE_DIR)/%.obo relationship.xsl # go2obo_xml $< > $@.tmp && mv $@.tmp $@ %.obo-xml: %.obo go2obo_xml $< > $@.tmp && mv $@.tmp $@ .PRECIOUS: %.obo-xml %.owl: %.obo go2owl $< > $@.tmp && mv $@.tmp $@ .PRECIOUS: %.owl %.pellet: %.owl $(PELLET) -if $< > $@.tmp && mv $@.tmp $@ %.pro: %.obo-xml go2prolog $< > $@.tmp && mv $@.tmp $@ %.obo.html: %.obo obo-syntax-highlight-in-html.pl --title 'OBO Relation Ontology' $< > $@.tmp && mv $@.tmp $@ %.html: %.obo-xml relationship.xsl xsltproc ./relationship.xsl $< > $@.tmp && mv $@.tmp $@ %.roundtrip: %.obo obo2obo -allowdangling -o -allowdangling $@ $< .PRECIOUS: %.roundtrip # all except ro.obo will have dangling refs ro.obocheck: ro.roundtrip obodiff ro.obo $< | grep -v OBO_REL:is_a > $@ %.obocheck: %.roundtrip touch $@ # prepare a release: # creates a local subdirectory # should only be executed once prepare-%: all mkdir $* && \ cp $(RELEASE_FILES) $* && \ ./mkdiff $* # update main website - html only update_site: all scp index.html $(WWW_DIR) # update main website - html only update_site2: all cp index.html ../ro cd ../ro && cvs commit -m '' index.html # publishes a pre-release; # ends up as http://obofoundry.org/ro/pre/ # this directory is volatile pub_prerelease: all scp $(RELEASE_FILES) $(WWW_DIR)/pre/ # publishes a release # ends up as http://obofoundry.org/ro/N-NN/ # and http://obofoundry.org/ro/ # involatile # cvs tags release - ensures no duplicate releases pub_release-%: all check % (cp ro.obo $(SOURCE_DIR)/ && cvs commit -m 'release' ro.obo && cd $(SOURCE_DIR) && cvs tag release-$* > TAG && grep -v NOT TAG) && \ scp -r $* $(WWW_DIR)/ scp -r $(RELEASE_FILES) $(WWW_DIR)/ # publishes a pre-release for a specific version; # ends up as http://obofoundry.org/ro/pre/N-NN/ # this directory is volatile pub_prerelease-%: all check %/CHANGES scp -r $* $(WWW_DIR)/pre/