X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=iotjava%2FMakefile;h=77affec80a894186d5292319de355bac65a54a29;hb=HEAD;hp=8d92c94553cbc14112e5f64bfa02cdc68b458860;hpb=f0af28e363e1e1d2a3f98eb5bacde13ad09eef8b;p=iot2.git diff --git a/iotjava/Makefile b/iotjava/Makefile index 8d92c94..77affec 100644 --- a/iotjava/Makefile +++ b/iotjava/Makefile @@ -1,28 +1,203 @@ + BASE := .. include $(BASE)/common.mk -all: iotparsertree iotparser iotcompiler +all: mkdir tree parser compiler rmi runtime runtime-cpp installer + +infra: runtime installer + +PHONY += mkdir +mkdir: + [ -d ../bin ] || mkdir ../bin + +# C++ slave +PHONY += runtime-cpp +runtime-cpp: + cd iotruntime/cpp/iotslave; make cpp -PHONY += iotparsertree -iotparsertree: +# Parser compilation and run +PHONY += tree +tree: $(JAVAC) -cp .:$(PARSERJARS) -d $(BIN_DIR) iotpolicy/tree/*.java -PHONY += iotparser -iotparser: +PHONY += parser +parser: $(JAVAC) -cp .:$(PARSERJARS) -d $(BIN_DIR) iotpolicy/parser/*.java -PHONY += iotcompiler -iotcompiler: +PHONY += compiler +compiler: $(JAVAC) -cp .:$(PARSERJARS) -d $(BIN_DIR) iotpolicy/*.java - cp ../config/iotpolicy/*.pol $(BIN_DIR)/iotpolicy/ -PHONY += iotcompilestub -iotcompilestub: - cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTStubCompiler policy.pol +# Cleaning the compiler output +PHONY += output-clean +output-clean: + rm -rf $(BIN_DIR)/iotpolicy/output_files + rm -rf $(BIN_DIR)/iotpolicy/*.req + rm -rf $(BIN_DIR)/iotpolicy/*.pol + +# RMI compilation (for Java) +# Note: For C++, the RMI will be in the binary file of the generated .so file of the stub and skeleton +PHONY += rmi +rmi: + $(JAVAC) -cp .:../$(BIN_DIR) -d $(BIN_DIR) iotrmi/Java/*.java + +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/ + cp -r ../localconfig/SupportedDevices/ $(BIN_DIR)/ + # Only driversList.config is needed for the phone app to start + cp ../localconfig/SupportedDevices/driversList.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 ../localconfig/iotruntime/*.bash $(BIN_DIR)/iotruntime/ + cp -r ../localconfig/mysql $(BIN_DIR)/iotruntime/ + cp -r ../localconfig/tomoyo $(BIN_DIR)/iotruntime/ + [ -d $(BIN_DIR)/iotruntime/log ] || mkdir $(BIN_DIR)/iotruntime/log PHONY += doc -doc: iotruntime iotinstaller - $(JAVADOC) -d $(DOCS_DIR) iotpolicy/*.java +doc: runtime installer rmi compiler + $(JAVADOC) -d $(DOCS_DIR) iotinstaller/*.java iotruntime/*.java iotrmi/*.java iotcompiler/*.java + + +# ==================================================================== # +# # +# The followings are the variety of make commands for Vigilia compiler # +# # +# ==================================================================== # + +# Lifxtest +PHONY += run-compiler-lbtest +run-compiler-lbtest: + 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 -cont Lifxtest lifxlightbulb.pol lifxtest.req -drv LifxLightBulb -java Java + #cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont Lifxtest lifxlightbulb.pol lifxtest.req -drv LifxLightBulb -cplus Cplus + +# SmartLightsController +PHONY += run-compiler-smartlight +run-compiler-smartlight: + cp ../localconfig/iotpolicy/LifxLightBulb/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/LifxLightBulb/*.req $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/AmcrestCamera/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/AmcrestCamera/*.req $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/Room/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/Room/*.req $(BIN_DIR)/iotpolicy/ + #cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont SmartLightsController lifxlightbulb.pol smartlightsbulb.req -drv LifxLightBulb amcrestcamera.pol smartlightscam.req -drv AmcrestCamera motiondetection.pol motiondetection.req -drv AmcrestCamera room.pol roomsmart.req -drv LabRoom -java Java + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont SmartLightsController lifxlightbulb.pol smartlightsbulb.req -drv LifxLightBulb amcrestcamera.pol smartlightscam.req -drv AmcrestCamera motiondetection.pol motiondetection.req -drv AmcrestCamera room.pol roomsmart.req -drv LabRoom -cplus Cplus + +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 -cont SmartLightsController lifxlightbulb.pol smartlightsbulb.req -drv LifxLightBulb -java Java + #cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler lifxlightbulb.pol smartlightsbulb.req -cplus C++ + +PHONY += run-compiler-room +run-compiler-room: + cp ../localconfig/iotpolicy/Room/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/Room/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont SmartLightsController room.pol roomsmart.req -drv LabRoom -java Java + #cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler room.pol roomsmart.req -cplus C++ + +PHONY += run-compiler-cam +run-compiler-cam: + cp ../localconfig/iotpolicy/AmcrestCamera/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/AmcrestCamera/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont SmartLightsController amcrestcamera.pol smartlightscam.req -drv AmcrestCamera motiondetection.pol motiondetection.req -drv AmcrestCamera -java Java + #cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler + +# IrrigationController +PHONY += run-compiler-irrigation +run-compiler-irrigation: + cp ../localconfig/iotpolicy/GreenLawn/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/GreenLawn/*.req $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/BlossomSprinkler/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/BlossomSprinkler/*.req $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/WeatherPhoneGateway/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/WeatherPhoneGateway/*.req $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/SpruceSensor/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/SpruceSensor/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont IrrigationController greenlawn.pol smartlawn.req -drv GreenLawn blossomsprinkler.pol smartsprinkler.req -drv BlossomSprinkler weatherphonegateway.pol smartweathergateway.req -drv WeatherPhoneGateway weathergatewaycallback.pol smartweathergatewaycallback.req -drv WeatherPhoneGateway sprucesensor.pol smartsensor.req -drv SpruceSensor moisturesensorcallback.pol moisturesensorcallback.req -drv SpruceSensor -java Java + +PHONY += run-compiler-lawn +run-compiler-lawn: + cp ../localconfig/iotpolicy/GreenLawn/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/GreenLawn/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont IrrigationController greenlawn.pol smartlawn.req -drv GreenLawn -java Java + +PHONY += run-compiler-sprk +run-compiler-sprk: + cp ../localconfig/iotpolicy/BlossomSprinkler/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/BlossomSprinkler/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont IrrigationController blossomsprinkler.pol smartsprinkler.req -drv BlossomSprinkler -java Java + +PHONY += run-compiler-wgw +run-compiler-wgw: + cp ../localconfig/iotpolicy/WeatherPhoneGateway/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/WeatherPhoneGateway/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont IrrigationController weatherphonegateway.pol smartweathergateway.req -drv WeatherPhoneGateway weathergatewaycallback.pol smartweathergatewaycallback.req -drv WeatherPhoneGateway -java Java + +PHONY += run-compiler-moist +run-compiler-moist: + cp ../localconfig/iotpolicy/SpruceSensor/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/SpruceSensor/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont IrrigationController sprucesensor.pol smartsensor.req -drv SpruceSensor moisturesensorcallback.pol moisturesensorcallback.req -drv SpruceSensor -java Java + +# SpeakerController +PHONY += run-compiler-speaker +run-compiler-speaker: + cp ../localconfig/iotpolicy/IHome/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/IHome/*.req $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/GPSPhoneGateway/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/GPSPhoneGateway/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont SpeakerController ihome.pol smartspeaker.req -drv IHome speakercallback.pol smartspeakercallback.req -drv IHome gpsphonegateway.pol smartgpsgateway.req -drv GPSPhoneGateway gpsgatewaycallback.pol smartgpsgatewaycallback.req -drv GPSPhoneGateway -java Java + +PHONY += run-compiler-spkr +run-compiler-spkr: + cp ../localconfig/iotpolicy/IHome/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/IHome/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont SpeakerController ihome.pol smartspeaker.req -drv IHome speakercallback.pol smartspeakercallback.req -drv IHome -java Java + +PHONY += run-compiler-ggw +run-compiler-ggw: + cp ../localconfig/iotpolicy/GPSPhoneGateway/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/GPSPhoneGateway/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -drv GPSPhoneGateway gpsphonegateway.pol smartgpsgateway.req -drv GPSPhoneGateway gpsgatewaycallback.pol smartgpsgatewaycallback.req -drv GPSPhoneGateway -java Java + +# HomeSecurityController +PHONY += run-compiler-homesec +run-compiler-homesec: + cp ../localconfig/iotpolicy/DlinkAlarm/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/DlinkAlarm/*.req $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/SmartthingsSensor/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/SmartthingsSensor/*.req $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/SmartthingsActuator/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/SmartthingsActuator/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont HomeSecurityController dlinkalarm.pol smartalarm.req -drv DlinkAlarm smartthingssensor.pol smartthingssensor.req -drv MotionSensor smartthingssensorcallback.pol smartthingssensorcallback.req -drv MotionSensor smartthingssensor.pol smartthingssensor.req -drv MultipurposeSensor smartthingssensorcallback.pol smartthingssensorcallback.req -drv MultipurposeSensor smartthingssensor.pol smartthingssensor.req -drv WaterLeakSensor smartthingssensorcallback.pol smartthingssensorcallback.req -drv WaterLeakSensor -java Java + +PHONY += run-compiler-alarm +run-compiler-alarm: + cp ../localconfig/iotpolicy/DlinkAlarm/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/DlinkAlarm/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont HomeSecurityController dlinkalarm.pol smartalarm.req -drv DlinkAlarm -java Java + +PHONY += run-compiler-smart +run-compiler-smart: + cp ../localconfig/iotpolicy/SmartthingsSensor/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/SmartthingsSensor/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont HomeSecurityController smartthingssensor.pol smartthingssensor.req -drv MotionSensor smartthingssensorcallback.pol smartthingssensorcallback.req -drv MotionSensor -java Java + +PHONY += run-compiler-actuate +run-compiler-actuate: + cp ../localconfig/iotpolicy/SmartthingsActuator/*.pol $(BIN_DIR)/iotpolicy/ + cp ../localconfig/iotpolicy/SmartthingsActuator/*.req $(BIN_DIR)/iotpolicy/ + cd $(BIN_DIR)/iotpolicy; $(JAVA) -cp .:..:../$(PARSERJARS):../$(BIN_DIR) iotpolicy.IoTCompiler -cont HomeSecurityController smartthingsactuator.pol smartthingsactuator.req -drv DoorlockActuator smartthingsactuatorcallback.pol smartthingsactuatorcallback.req -drv DoorlockActuator -java Java .PHONY: $(PHONY)