# Makefile
# 

# change this


USER	    = Praktik1
PROJECT_DIR = /homes/Praktik1/STP/
SYSTEM      = anaSS99
FORMAT_FILE = /homes/wagenbi/probloes.mif



##################  do not change #########################



QRL_DIR     = $(PROJECT_DIR)$(SYSTEM)/qrl_files/scripts
SCRIPT_DIR  = $(QRL_DIR)/report
INCLUDE_DIR = $(QRL_DIR)/include/
QRP         = /user1/tools1/ide/STP/STP/bin/qrp
QRP_OPTIONS = -p $(PROJECT_DIR) -s $(SYSTEM) 
FM_BATCH    = /user1/tools1/frame4/bin/fmbatch
ECHO	    = /usr/bin/echo
CURRENT_DIR = `pwd`


.PHONY: datadict collaboration classdiagram statediagram sequence usecase verfmat probloesdok clean all

help:
	@$(ECHO) "\n\nZur Auswahl stehen folgende Targets:\n"
	@$(ECHO) "usecase       ... erzeugt das UseCase-Kapitel"
	@$(ECHO) "datadict      ... erzeugt das Data-Dictionary"
	@$(ECHO) "classdiagram  ... erzeugt die Klassendiagramme"
	@$(ECHO) "sequence      ... erzeugt die Squenzdiagramme"
	@$(ECHO) "collaboration ... erzeugt die Collaboration-Diagramme"
	@$(ECHO) "statediagram  ... erzeugt die State-Diagramme"
	@$(ECHO) "verfmat       ... erzeugt die Verfolgbarkeitsmatrix"
	@$(ECHO) "probloesdok   ... generiert das Buch neu"
	@$(ECHO) "all           ... erzeugt die gesamte PLD neu"
	@$(ECHO) "clean         ... loescht alte backup-Dateien\n"


datadict:
	  $(QRP) $(SCRIPT_DIR)/create_datadictionary.qrl $(QRP_OPTIONS) -t ascii | sed -f $(SCRIPT_DIR)/sedfile > /tmp/data_$(USER)
	  sed '/end of AFrames/ r /tmp/data_$(USER)' $(FORMAT_FILE) | sed '/End of MIFFile/ r /$(SCRIPT_DIR)/data_dict_ueberschrift.txt' > /tmp/data_$(USER).mif
	  rm -f /tmp/data_$(USER)
	  @$(ECHO) "Open /tmp/data_$(USER).mif" > /tmp/create_datadict_$(USER)
	  @$(ECHO) "SaveAs d /tmp/data_$(USER).mif `pwd`/Data-Dictionary.fm" >> /tmp/create_datadict_$(USER)
	  $(FM_BATCH) -v /tmp/create_datadict_$(USER)
	  rm -f /tmp/data_$(USER).mif
	  rm -f /tmp/create_datadict_$(USER)



collaboration:
	$(QRP) $(SCRIPT_DIR)/create_collaboration.qrl $(QRP_OPTIONS) -t mif -f $(FORMAT_FILE) -o /tmp/collaboration_$(USER).mif
	@$(ECHO) "Open /tmp/collaboration_$(USER).mif" > /tmp/create_collaboration_$(USER)
	@$(ECHO) "SaveAs d /tmp/collaboration_$(USER).mif $(CURRENT_DIR)/UML-Collaboration-Diagramme.fm" >> /tmp/create_collaboration_$(USER)
	$(FM_BATCH) -v /tmp/create_collaboration_$(USER)
	rm -f /tmp/collaboration_$(USER).mif
	rm -f /tmp/create_collaboration_$(USER)


classdiagram:
	$(QRP) $(SCRIPT_DIR)/create_classdiagram.qrl $(QRP_OPTIONS) -t mif -f $(FORMAT_FILE) -o /tmp/classdiagram_$(USER).mif
	@$(ECHO) "Open /tmp/classdiagram_$(USER).mif" > /tmp/create_classdiagram_$(USER)
	@$(ECHO) "SaveAs d /tmp/classdiagram_$(USER).mif $(CURRENT_DIR)/UML-Klassendiagramm.fm" >> /tmp/create_classdiagram_$(USER)
	$(FM_BATCH) -v /tmp/create_classdiagram_$(USER)
	rm -f /tmp/classdiagram_$(USER).mif
	rm -f /tmp/create_classdiagram_$(USER)



sequence:
	$(QRP) $(SCRIPT_DIR)/create_sequencediagram.qrl $(QRP_OPTIONS) -t mif -f $(FORMAT_FILE) -o /tmp/sequencediagram_$(USER).mif
	@$(ECHO) "Open /tmp/sequencediagram_$(USER).mif" > /tmp/create_sequencediagram_$(USER)
	@$(ECHO) "SaveAs d /tmp/sequencediagram_$(USER).mif $(CURRENT_DIR)/UML-Sequenzdiagramme.fm" >> /tmp/create_sequencediagram_$(USER)
	$(FM_BATCH) -v /tmp/create_sequencediagram_$(USER)
	rm -f /tmp/sequencediagram_$(USER).mif
	rm -f /tmp/create_sequencediagram_$(USER)




statediagram:
	$(QRP) $(SCRIPT_DIR)/create_statediagram.qrl $(QRP_OPTIONS) -t mif -f $(FORMAT_FILE) -o /tmp/statediagram_$(USER).mif
	@$(ECHO) "Open /tmp/statediagram_$(USER).mif" > /tmp/create_statediagram_$(USER)
	@$(ECHO) "SaveAs d /tmp/statediagram_$(USER).mif $(CURRENT_DIR)/UML-State-Diagramme.fm" >> /tmp/create_statediagram_$(USER)
	$(FM_BATCH) -v /tmp/create_statediagram_$(USER)
	rm -f /tmp/statediagram_$(USER).mif
	rm -f /tmp/create_statediagram_$(USER)


usecase:
	$(QRP) $(SCRIPT_DIR)/create_usecase.qrl $(QRP_OPTIONS) -t mif -f $(FORMAT_FILE) -o /tmp/usecasediagram_$(USER).mif
	@$(ECHO) "Open /tmp/usecasediagram_$(USER).mif" > /tmp/create_usecasediagram_$(USER)
	@$(ECHO) "SaveAs d /tmp/usecasediagram_$(USER).mif $(CURRENT_DIR)/UML-UseCase.fm" >> /tmp/create_usecasediagram_$(USER)
	$(FM_BATCH) -v /tmp/create_usecasediagram_$(USER)
	rm -f /tmp/usecasediagram_$(USER).mif
	rm -f /tmp/create_usecasediagram_$(USER)


verfmat:
	$(QRP) $(SCRIPT_DIR)/create_tracetab.qrl $(QRP_OPTIONS) -t ascii | sed -f $(SCRIPT_DIR)/sedfile > /tmp/data_$(USER)
	sed '/end of AFrames/ r /tmp/data_$(USER)' $(FORMAT_FILE) | sed '/End of MIFFile/ r /$(SCRIPT_DIR)/verfmat_ueberschrift.txt' > /tmp/verfmat_$(USER).mif
	rm -f /tmp/data_$(USER)
	@$(ECHO) "Open /tmp/verfmat_$(USER).mif" > /tmp/create_verfmat_$(USER)
	@$(ECHO) "SaveAs d /tmp/verfmat_$(USER).mif `pwd`/Verfolgbarkeitsmatrix-PLD.fm" >> /tmp/create_verfmat_$(USER)
	$(FM_BATCH) -v /tmp/create_verfmat_$(USER)
	rm -f /tmp/verfmat_$(USER).mif
	rm -f /tmp/create_verfmat_$(USER)

probloesdok:
	@$(ECHO) "Open $(CURRENT_DIR)/Problem-Loesungsdokumentation.book" > /tmp/update_book_$(USER)
	@$(ECHO) "Update $(CURRENT_DIR)/Problem-Loesungsdokumentation.book" >> /tmp/update_book_$(USER)
	$(FM_BATCH) -v /tmp/update_book_$(USER)
	rm -f /tmp/update_book_$(USER)

clean:
	rm -f *.backup


all:
	$(QRP) $(SCRIPT_DIR)/create_datadictionary.qrl $(QRP_OPTIONS) -t ascii | sed -f $(SCRIPT_DIR)/sedfile > /tmp/data_$(USER)
	sed '/end of AFrames/ r /tmp/data_$(USER)' $(FORMAT_FILE) | sed '/End of MIFFile/ r /$(SCRIPT_DIR)/data_dict_ueberschrift.txt' > /tmp/data_dict_$(USER).mif
	rm -f /tmp/data_$(USER)
	@$(ECHO) "Open /tmp/data_dict_$(USER).mif" > /tmp/create_$(USER)
	@$(ECHO) "SaveAs d /tmp/data_dict_$(USER).mif `pwd`/Data-Dictionary.fm" >> /tmp/create_$(USER)
	@$(ECHO) "Quit /tmp/data_dict_$(USER).mif" >> /tmp/create_$(USER)


	$(QRP) $(SCRIPT_DIR)/create_sequencediagram.qrl $(QRP_OPTIONS) -t mif -f $(FORMAT_FILE) -o /tmp/sequencediagram_$(USER).mif
	@$(ECHO) "Open /tmp/sequencediagram_$(USER).mif" >> /tmp/create_$(USER)
	@$(ECHO) "SaveAs d /tmp/sequencediagram_$(USER).mif $(CURRENT_DIR)/UML-Sequenzdiagramme.fm" >> /tmp/create_$(USER)
	@$(ECHO) "Quit /tmp/sequencediagram_$(USER).mif" >> /tmp/create_$(USER)


	$(QRP) $(SCRIPT_DIR)/create_collaboration.qrl $(QRP_OPTIONS) -t mif -f $(FORMAT_FILE) -o /tmp/collaboration_$(USER).mif
	@$(ECHO) "Open /tmp/collaboration_$(USER).mif" >> /tmp/create_$(USER)
	@$(ECHO) "SaveAs d /tmp/collaboration_$(USER).mif $(CURRENT_DIR)/UML-Collaboration-Diagramme.fm" >> /tmp/create_$(USER)
	@$(ECHO) "Quit /tmp/collaboration_$(USER).mif" >> /tmp/create_$(USER)


	$(QRP) $(SCRIPT_DIR)/create_classdiagram.qrl $(QRP_OPTIONS) -t mif -f $(FORMAT_FILE) -o /tmp/classdiagram_$(USER).mif
	@$(ECHO) "Open /tmp/classdiagram_$(USER).mif" >> /tmp/create_$(USER)
	@$(ECHO) "SaveAs d /tmp/classdiagram_$(USER).mif $(CURRENT_DIR)/UML-Klassendiagramm.fm" >> /tmp/create_$(USER)
	@$(ECHO) "Quit /tmp/classdiagram_$(USER).mif" >> /tmp/create_$(USER)


	$(QRP) $(SCRIPT_DIR)/create_statediagram.qrl $(QRP_OPTIONS) -t mif -f $(FORMAT_FILE) -o /tmp/statediagram_$(USER).mif
	@$(ECHO) "Open /tmp/statediagram_$(USER).mif" >> /tmp/create_$(USER)
	@$(ECHO) "SaveAs d /tmp/statediagram_$(USER).mif $(CURRENT_DIR)/UML-State-Diagramme.fm" >> /tmp/create_$(USER)
	@$(ECHO) "Quit /tmp/statediagram_$(USER).mif" >> /tmp/create_$(USER)


	$(QRP) $(SCRIPT_DIR)/create_usecase.qrl $(QRP_OPTIONS) -t mif -f $(FORMAT_FILE) -o /tmp/usecasediagram_$(USER).mif
	@$(ECHO) "Open /tmp/usecasediagram_$(USER).mif" >> /tmp/create_$(USER)
	@$(ECHO) "SaveAs d /tmp/usecasediagram_$(USER).mif $(CURRENT_DIR)/UML-UseCase.fm" >> /tmp/create_$(USER)
	@$(ECHO) "Quit /tmp/usecasediagram_$(USER).mif" >> /tmp/create_$(USER)


	$(QRP) $(SCRIPT_DIR)/create_tracetab.qrl $(QRP_OPTIONS) -t ascii | sed -f $(SCRIPT_DIR)/sedfile > /tmp/data_$(USER)
	sed '/end of AFrames/ r /tmp/data_$(USER)' $(FORMAT_FILE) | sed '/End of MIFFile/ r /$(SCRIPT_DIR)/verfmat_ueberschrift.txt' > /tmp/verfmat_$(USER).mif
	rm -f /tmp/data_$(USER)
	@$(ECHO) "Open /tmp/verfmat_$(USER).mif" >> /tmp/create_$(USER)
	@$(ECHO) "SaveAs d /tmp/verfmat_$(USER).mif `pwd`/Verfolgbarkeitsmatrix-PLD.fm" >> /tmp/create_$(USER)
	@$(ECHO) "Quit /tmp/verfmat_$(USER).mif" >> /tmp/create_$(USER)


	@$(ECHO) "Open $(CURRENT_DIR)/Problem-Loesungsdokumentation.book" >> /tmp/create_$(USER)
	@$(ECHO) "Update $(CURRENT_DIR)/Problem-Loesungsdokumentation.book" >> /tmp/create_$(USER)
	$(FM_BATCH) -v /tmp/create_$(USER)

	rm -f /tmp/create_$(USER)
	rm -f /tmp/data_dict_$(USER).mif
	rm -f /tmp/collaboration_$(USER).mif
	rm -f /tmp/sequencediagram_$(USER).mif
	rm -f /tmp/classdiagram_$(USER).mif
	rm -f /tmp/statediagram_$(USER).mif
	rm -f /tmp/usecasediagram_$(USER).mif
	rm -f /tmp/verfmat_$(USER).mif



