BASE := .. include $(BASE)/common.mk all: tree parser compiler rmi runtime installer infra: runtime installer # Parser compilation and run PHONY += tree tree: $(JAVAC) -cp .:$(PARSERJARS) -d $(BIN_DIR) iotpolicy/tree/*.java PHONY += parser parser: $(JAVAC) -cp .:$(PARSERJARS) -d $(BIN_DIR) iotpolicy/parser/*.java PHONY += compiler compiler: $(JAVAC) -cp .:$(PARSERJARS) -d $(BIN_DIR) iotpolicy/*.java PHONY += run-compiler-dev run-compiler-dev: cp ../localconfig/iotpolicy/development/*.pol $(BIN_DIR)/iotpolicy/ cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler testclasspolicy.pol testclassrequires.pol callbackpolicy.pol callbackrequires.pol -cplus Cplus -java Java cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler callbackpolicy.pol callbackrequires.pol testclasspolicy_advanced.pol testclassrequires_advanced.pol -cplus Cplus -java Java PHONY += run-compiler-lifx run-compiler-lifx: cp ../localconfig/iotpolicy/LifxLightBulb/*.pol $(BIN_DIR)/iotpolicy/ cp ../localconfig/iotpolicy/LifxLightBulb/*.req $(BIN_DIR)/iotpolicy/ cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler lifxlightbulb.pol lifxtest.req -java Java # TODO: Can remove this later - just to test-compile the resulted files from the compiler PHONY += compile compile: cp ./iotrmi/Java/basics/* $(BIN_DIR)/iotpolicy/output_files/Java cp ./iotrmi/C++/basics/* $(BIN_DIR)/iotpolicy/output_files/Cplus cd $(BIN_DIR)/iotpolicy/output_files; cp *.java ./Java cd $(BIN_DIR)/iotpolicy/output_files; cp *.hpp ./Cplus cd $(BIN_DIR)/iotpolicy/output_files/Java; $(JAVAC) -cp .:..:../../../$(BIN_DIR) TestClass_Skeleton.java cd $(BIN_DIR)/iotpolicy/output_files/Java; $(JAVAC) -cp .:..:../../../$(BIN_DIR) TestClassAdvanced_Stub.java cd $(BIN_DIR)/iotpolicy/output_files/Cplus; $(G++) ./TestClass_Skeleton.cpp -o ./TestClass_Skeleton.out --std=c++11 -pthread -pg -I../../../../iotjava/iotrmi/C++/ cd $(BIN_DIR)/iotpolicy/output_files/Cplus; $(G++) ./TestClassAdvanced_Stub.cpp -o ./TestClassAdvanced_Stub.out --std=c++11 -pthread -pg -I../../../../iotjava/iotrmi/C++/ cd $(BIN_DIR)/iotpolicy/output_files/Cplus; $(ARM_G++) ./TestClassInterface_Skeleton.cpp -o ./TestClassInterface_Skeleton.out --std=c++11 -pthread -pg -I../../../../iotjava/iotrmi/C++/ PHONY += run-java-skeleton run-java-skeleton: cd ../bin/iotpolicy/output_files/Java; $(JAVA) -cp .:../../../$(BIN_DIR) TestClass_Skeleton PHONY += run-java-stub run-java-stub: # cd ../bin/iotpolicy/output_files/Java; $(JAVA) -cp .:../../../$(BIN_DIR) TestClass_Stub cd ../bin/iotpolicy/output_files/Java; $(JAVA) -cp .:../../../$(BIN_DIR) TestClassAdvanced_Stub PHONY += run-cplus-skeleton run-cplus-skeleton: ../bin/iotpolicy/output_files/Cplus/TestClass_Skeleton.out PHONY += run-cplus-stub run-cplus-stub: # ../bin/iotpolicy/output_files/Cplus/TestClass_Stub.out ../bin/iotpolicy/output_files/Cplus/TestClassAdvanced_Stub.out PHONY += folderclean folderclean: rm -rf $(BIN_DIR)/iotpolicy/output_files PHONY += clean clean: cd $(BIN_DIR)/iotpolicy/output_files; rm -rf *.class *.gch cd $(BIN_DIR)/iotpolicy/output_files/Java; rm -rf *.class cd $(BIN_DIR)/iotpolicy/output_files/Cplus; rm -rf *.gch cd $(BIN_DIR)/iotpolicy/output_files/Cplus; rm -rf *.out # RMI compilation and run PHONY += rmi rmi: mkdir -p $(BIN_DIR) $(JAVAC) -cp .:../$(BIN_DIR) -d $(BIN_DIR) iotrmi/Java/*.java $(JAVAC) -cp .:../$(BIN_DIR) -d $(BIN_DIR) iotrmi/Java/sample/*.java mkdir -p $(BIN_DIR)/iotrmi/C++/sample #$(G++) iotrmi/C++/sample/TestClass_Stub.cpp -o $(BIN_DIR)/iotrmi/C++/sample/TestClass_Stub.out --std=c++11 -pthread -pg #$(G++) iotrmi/C++/sample/TestClass_Skeleton.cpp -o $(BIN_DIR)/iotrmi/C++/sample/TestClass_Skeleton.out --std=c++11 -pthread -pg PHONY += run-rmiserver run-rmiserver: $(JAVA) -cp .:$(BIN_DIR) iotrmi.Java.sample.TestClass_Skeleton PHONY += run-rmiclient run-rmiclient: $(JAVA) -cp .:$(BIN_DIR) iotrmi.Java.sample.TestClass_Stub PHONY += installer installer: $(JAVAC) -d $(BIN_DIR) iotinstaller/*.java cp ../localconfig/iotruntime/MySQLInterface.config $(BIN_DIR)/iotruntime/ cp ../localconfig/iotruntime/MySQLInterface.config $(BIN_DIR)/iotinstaller/ PHONY += runtime runtime: $(JAVAC) -classpath .:$(RUNTIMEJARS):$(PHONEJARS):$(ZIPJARS) iotruntime/*.java iotruntime/master/*.java iotruntime/slave/*.java iotruntime/messages/*.java iotruntime/stub/*.java iotruntime/zigbee/*.java -d $(BIN_DIR) cp ../localconfig/iotruntime/IoTMaster.config $(BIN_DIR)/iotruntime/ cp ../localconfig/iotruntime/IoTSlave.config $(BIN_DIR)/iotruntime/ cp -r ../localconfig/mysql $(BIN_DIR)/iotruntime/ PHONY += doc doc: runtime installer rmi compiler $(JAVADOC) -d $(DOCS_DIR) iotinstaller/*.java iotruntime/*.java iotrmi/*.java iotcompiler/*.java .PHONY: $(PHONY)