all:libs shared

libs:
	cd Bits && make
	cd Histo && make
	cd PixConfDBInterface && make
	cd PixDbInterface && make
	cd Config && make
	cd PixController && make
ifneq ($(TDAQ_FLAG),-DNOTDAQ)
	cd PixTrigController && make
endif
	cd PixBoc && make
	cd PixFe && make
	cd PixMcc && make
	cd PixModule && make
	cd PixModuleGroup && make
	cd PixDcs && make
	cd PixProber && make

ifneq ($(TDAQ_FLAG),-DNOTDAQ)
ifeq ($(GPIB_FLAG),-DHAVE_GPIB)
shared:         Bits/Bits.o \
		Config/ConfGroup.o \
		Config/Config.o \
		Config/ConfObj.o \
		Histo/Histo.o \
		PixBoc/PixBoc.o \
		PixConfDBInterface/CfgWizardDB.o \
		PixConfDBInterface/PixConfDBInterface.o \
		PixConfDBInterface/RootDBDict.o \
		PixConfDBInterface/RootDB.o \
		PixConfDBInterface/TurboDaqDB.o \
		PixDbInterface/PixDbInterface.o \
		PixDbInterface/RootDbDict.o \
		PixDbInterface/RootDb.o \
		PixController/PixController.o \
		PixController/PixScanConfig.o \
		PixController/PixScan.o \
		PixController/RodPixController.o \
		PixController/TpllPixController.o \
		PixController/USBPixController.o \
		PixDcs/PixDcs.o \
		PixDcs/GPIBPixDcs.o \
		PixDcs/USB_PixDcs.o \
		PixDcs/RS232PixDcs.o \
		PixDcs/SleepWrapped.o \
		PixFe/PixFeData.o \
		PixFe/PixFeI1Config.o \
		PixFe/PixFeI1.o \
		PixFe/PixFeI2Config.o \
		PixFe/PixFeI2.o \
		PixFe/PixFeI4AConfig.o \
		PixFe/PixFeI4A.o \
		PixFe/PixFeI4BConfig.o \
		PixFe/PixFeI4B.o \
		PixFe/PixFeStructures.o \
		PixMcc/PixMccData.o \
		PixMcc/PixMccI1Config.o \
		PixMcc/PixMccI1.o \
		PixMcc/PixMccI2Config.o \
		PixMcc/PixMccI2.o \
		PixMcc/PixMccStructures.o \
		PixModule/PixModule.o \
		PixModuleGroup/PixModuleGroup.o \
		PixTrigController/TimPixTrigController.o \
		PixProber/PixProber.o \
		PixProber/SuessPixProber.o \
		PixProber/LBNLPixProber.o \
		PixProber/AlessiLBNLPixProber.o
	g++ -shared -o $(DAQ_BASE)/lib/libPixLib.so \
		Bits/Bits.o \
		Config/ConfGroup.o \
		Config/Config.o \
		Config/ConfObj.o \
		Histo/Histo.o \
		PixBoc/PixBoc.o \
		PixConfDBInterface/CfgWizardDB.o \
		PixConfDBInterface/PixConfDBInterface.o \
		PixConfDBInterface/RootDBDict.o \
		PixConfDBInterface/RootDB.o \
		PixConfDBInterface/TurboDaqDB.o \
		PixDbInterface/PixDbInterface.o \
		PixDbInterface/RootDbDict.o \
		PixDbInterface/RootDb.o \
		PixController/PixController.o \
		PixController/PixScanConfig.o \
		PixController/PixScan.o \
		PixController/RodPixController.o \
		PixController/TpllPixController.o \
		PixController/USBPixController.o \
		PixDcs/PixDcs.o \
		PixDcs/GPIBPixDcs.o \
		PixDcs/USB_PixDcs.o \
		PixDcs/RS232PixDcs.o \
		PixDcs/SleepWrapped.o \
		PixFe/PixFeData.o \
		PixFe/PixFeI1Config.o \
		PixFe/PixFeI1.o \
		PixFe/PixFeI2Config.o \
		PixFe/PixFeI2.o \
		PixFe/PixFeI4AConfig.o \
		PixFe/PixFeI4A.o \
		PixFe/PixFeI4BConfig.o \
		PixFe/PixFeI4B.o \
		PixFe/PixFeStructures.o \
		PixMcc/PixMccData.o \
		PixMcc/PixMccI1Config.o \
		PixMcc/PixMccI1.o \
		PixMcc/PixMccI2Config.o \
		PixMcc/PixMccI2.o \
		PixMcc/PixMccStructures.o \
		PixModule/PixModule.o \
		PixModuleGroup/PixModuleGroup.o \
		PixTrigController/TimPixTrigController.o \
		PixProber/PixProber.o \
		PixProber/SuessPixProber.o \
		PixProber/LBNLPixProber.o \
		PixProber/AlessiLBNLPixProber.o
else
shared:         Bits/Bits.o \
		Config/ConfGroup.o \
		Config/Config.o \
		Config/ConfObj.o \
		Histo/Histo.o \
		PixBoc/PixBoc.o \
		PixConfDBInterface/CfgWizardDB.o \
		PixConfDBInterface/PixConfDBInterface.o \
		PixConfDBInterface/RootDBDict.o \
		PixConfDBInterface/RootDB.o \
		PixConfDBInterface/TurboDaqDB.o \
		PixDbInterface/PixDbInterface.o \
		PixDbInterface/RootDbDict.o \
		PixDbInterface/RootDb.o \
		PixController/PixController.o \
		PixController/PixScanConfig.o \
		PixController/PixScan.o \
		PixController/RodPixController.o \
		PixController/TpllPixController.o \
		PixController/USBPixController.o \
		PixDcs/PixDcs.o \
		PixDcs/USB_PixDcs.o \
		PixDcs/RS232PixDcs.o \
		PixDcs/SleepWrapped.o \
		PixFe/PixFeData.o \
		PixFe/PixFeI1Config.o \
		PixFe/PixFeI1.o \
		PixFe/PixFeI2Config.o \
		PixFe/PixFeI2.o \
		PixFe/PixFeI4AConfig.o \
		PixFe/PixFeI4A.o \
		PixFe/PixFeI4BConfig.o \
		PixFe/PixFeI4B.o \
		PixFe/PixFeStructures.o \
		PixMcc/PixMccData.o \
		PixMcc/PixMccI1Config.o \
		PixMcc/PixMccI1.o \
		PixMcc/PixMccI2Config.o \
		PixMcc/PixMccI2.o \
		PixMcc/PixMccStructures.o \
		PixModule/PixModule.o \
		PixModuleGroup/PixModuleGroup.o \
		PixTrigController/TimPixTrigController.o \
		PixProber/PixProber.o \
		PixProber/SuessPixProber.o \
		PixProber/LBNLPixProber.o \
		PixProber/AlessiLBNLPixProber.o
	g++ -shared -o $(DAQ_BASE)/lib/libPixLib.so \
		Bits/Bits.o \
		Config/ConfGroup.o \
		Config/Config.o \
		Config/ConfObj.o \
		Histo/Histo.o \
		PixBoc/PixBoc.o \
		PixConfDBInterface/CfgWizardDB.o \
		PixConfDBInterface/PixConfDBInterface.o \
		PixConfDBInterface/RootDBDict.o \
		PixConfDBInterface/RootDB.o \
		PixConfDBInterface/TurboDaqDB.o \
		PixDbInterface/PixDbInterface.o \
		PixDbInterface/RootDbDict.o \
		PixDbInterface/RootDb.o \
		PixController/PixController.o \
		PixController/PixScanConfig.o \
		PixController/PixScan.o \
		PixController/RodPixController.o \
		PixController/TpllPixController.o \
		PixController/USBPixController.o \
		PixDcs/PixDcs.o \
		PixDcs/USB_PixDcs.o \
		PixDcs/RS232PixDcs.o \
		PixDcs/SleepWrapped.o \
		PixFe/PixFeData.o \
		PixFe/PixFeI1Config.o \
		PixFe/PixFeI1.o \
		PixFe/PixFeI2Config.o \
		PixFe/PixFeI2.o \
		PixFe/PixFeI4AConfig.o \
		PixFe/PixFeI4A.o \
		PixFe/PixFeI4BConfig.o \
		PixFe/PixFeI4B.o \
		PixFe/PixFeStructures.o \
		PixMcc/PixMccData.o \
		PixMcc/PixMccI1Config.o \
		PixMcc/PixMccI1.o \
		PixMcc/PixMccI2Config.o \
		PixMcc/PixMccI2.o \
		PixMcc/PixMccStructures.o \
		PixModule/PixModule.o \
		PixModuleGroup/PixModuleGroup.o \
		PixTrigController/TimPixTrigController.o \
		PixProber/PixProber.o \
		PixProber/SuessPixProber.o \
		PixProber/LBNLPixProber.o \
		PixProber/AlessiLBNLPixProber.o
endif
else
ifeq ($(GPIB_FLAG),-DHAVE_GPIB)
shared:         Bits/Bits.o \
		Config/ConfGroup.o \
		Config/Config.o \
		Config/ConfObj.o \
		Histo/Histo.o \
		PixBoc/PixBoc.o \
		PixConfDBInterface/CfgWizardDB.o \
		PixConfDBInterface/PixConfDBInterface.o \
		PixConfDBInterface/RootDBDict.o \
		PixConfDBInterface/RootDB.o \
		PixConfDBInterface/TurboDaqDB.o \
		PixDbInterface/PixDbInterface.o \
		PixDbInterface/RootDbDict.o \
		PixDbInterface/RootDb.o \
		PixController/PixController.o \
		PixController/PixScanConfig.o \
		PixController/PixScan.o \
		PixController/RodPixController.o \
		PixController/TpllPixController.o \
		PixController/USBPixController.o \
		PixDcs/PixDcs.o \
		PixDcs/GPIBPixDcs.o \
		PixDcs/USB_PixDcs.o \
		PixDcs/RS232PixDcs.o \
		PixDcs/SleepWrapped.o \
		PixFe/PixFeData.o \
		PixFe/PixFeI1Config.o \
		PixFe/PixFeI1.o \
		PixFe/PixFeI2Config.o \
		PixFe/PixFeI2.o \
		PixFe/PixFeI4AConfig.o \
		PixFe/PixFeI4A.o \
		PixFe/PixFeI4BConfig.o \
		PixFe/PixFeI4B.o \
		PixFe/PixFeStructures.o \
		PixMcc/PixMccData.o \
		PixMcc/PixMccI1Config.o \
		PixMcc/PixMccI1.o \
		PixMcc/PixMccI2Config.o \
		PixMcc/PixMccI2.o \
		PixMcc/PixMccStructures.o \
		PixModule/PixModule.o \
		PixModuleGroup/PixModuleGroup.o \
		PixProber/PixProber.o \
		PixProber/SuessPixProber.o \
		PixProber/LBNLPixProber.o \
		PixProber/AlessiLBNLPixProber.o
	g++ -shared -o $(DAQ_BASE)/lib/libPixLib.so \
		Bits/Bits.o \
		Config/ConfGroup.o \
		Config/Config.o \
		Config/ConfObj.o \
		Histo/Histo.o \
		PixBoc/PixBoc.o \
		PixConfDBInterface/CfgWizardDB.o \
		PixConfDBInterface/PixConfDBInterface.o \
		PixConfDBInterface/RootDBDict.o \
		PixConfDBInterface/RootDB.o \
		PixConfDBInterface/TurboDaqDB.o \
		PixDbInterface/PixDbInterface.o \
		PixDbInterface/RootDbDict.o \
		PixDbInterface/RootDb.o \
		PixController/PixController.o \
		PixController/PixScanConfig.o \
		PixController/PixScan.o \
		PixController/RodPixController.o \
		PixController/TpllPixController.o \
		PixController/USBPixController.o \
		PixDcs/PixDcs.o \
		PixDcs/GPIBPixDcs.o \
		PixDcs/USB_PixDcs.o \
		PixDcs/RS232PixDcs.o \
		PixDcs/SleepWrapped.o \
		PixFe/PixFeData.o \
		PixFe/PixFeI1Config.o \
		PixFe/PixFeI1.o \
		PixFe/PixFeI2Config.o \
		PixFe/PixFeI2.o \
		PixFe/PixFeI4AConfig.o \
		PixFe/PixFeI4A.o \
		PixFe/PixFeI4BConfig.o \
		PixFe/PixFeI4B.o \
		PixFe/PixFeStructures.o \
		PixMcc/PixMccData.o \
		PixMcc/PixMccI1Config.o \
		PixMcc/PixMccI1.o \
		PixMcc/PixMccI2Config.o \
		PixMcc/PixMccI2.o \
		PixMcc/PixMccStructures.o \
		PixModule/PixModule.o \
		PixModuleGroup/PixModuleGroup.o \
		PixProber/PixProber.o \
		PixProber/SuessPixProber.o \
		PixProber/LBNLPixProber.o \
		PixProber/AlessiLBNLPixProber.o
else
shared:         Bits/Bits.o \
		Config/ConfGroup.o \
		Config/Config.o \
		Config/ConfObj.o \
		Histo/Histo.o \
		PixBoc/PixBoc.o \
		PixConfDBInterface/CfgWizardDB.o \
		PixConfDBInterface/PixConfDBInterface.o \
		PixConfDBInterface/RootDBDict.o \
		PixConfDBInterface/RootDB.o \
		PixConfDBInterface/TurboDaqDB.o \
		PixDbInterface/PixDbInterface.o \
		PixDbInterface/RootDbDict.o \
		PixDbInterface/RootDb.o \
		PixController/PixController.o \
		PixController/PixScanConfig.o \
		PixController/PixScan.o \
		PixController/RodPixController.o \
		PixController/TpllPixController.o \
		PixController/USBPixController.o \
		PixDcs/PixDcs.o \
		PixDcs/USB_PixDcs.o \
		PixDcs/RS232PixDcs.o \
		PixDcs/SleepWrapped.o \
		PixFe/PixFeData.o \
		PixFe/PixFeI1Config.o \
		PixFe/PixFeI1.o \
		PixFe/PixFeI2Config.o \
		PixFe/PixFeI2.o \
		PixFe/PixFeI4AConfig.o \
		PixFe/PixFeI4A.o \
		PixFe/PixFeI4BConfig.o \
		PixFe/PixFeI4B.o \
		PixFe/PixFeStructures.o \
		PixMcc/PixMccData.o \
		PixMcc/PixMccI1Config.o \
		PixMcc/PixMccI1.o \
		PixMcc/PixMccI2Config.o \
		PixMcc/PixMccI2.o \
		PixMcc/PixMccStructures.o \
		PixModule/PixModule.o \
		PixModuleGroup/PixModuleGroup.o \
		PixProber/PixProber.o \
		PixProber/SuessPixProber.o \
		PixProber/LBNLPixProber.o \
		PixProber/AlessiLBNLPixProber.o
	g++ -shared -o $(DAQ_BASE)/lib/libPixLib.so \
		Bits/Bits.o \
		Config/ConfGroup.o \
		Config/Config.o \
		Config/ConfObj.o \
		Histo/Histo.o \
		PixBoc/PixBoc.o \
		PixConfDBInterface/CfgWizardDB.o \
		PixConfDBInterface/PixConfDBInterface.o \
		PixConfDBInterface/RootDBDict.o \
		PixConfDBInterface/RootDB.o \
		PixConfDBInterface/TurboDaqDB.o \
		PixDbInterface/PixDbInterface.o \
		PixDbInterface/RootDbDict.o \
		PixDbInterface/RootDb.o \
		PixController/PixController.o \
		PixController/PixScanConfig.o \
		PixController/PixScan.o \
		PixController/RodPixController.o \
		PixController/TpllPixController.o \
		PixController/USBPixController.o \
		PixDcs/PixDcs.o \
		PixDcs/USB_PixDcs.o \
		PixDcs/RS232PixDcs.o \
		PixDcs/SleepWrapped.o \
		PixFe/PixFeData.o \
		PixFe/PixFeI1Config.o \
		PixFe/PixFeI1.o \
		PixFe/PixFeI2Config.o \
		PixFe/PixFeI2.o \
		PixFe/PixFeI4AConfig.o \
		PixFe/PixFeI4A.o \
		PixFe/PixFeI4BConfig.o \
		PixFe/PixFeI4B.o \
		PixFe/PixFeStructures.o \
		PixMcc/PixMccData.o \
		PixMcc/PixMccI1Config.o \
		PixMcc/PixMccI1.o \
		PixMcc/PixMccI2Config.o \
		PixMcc/PixMccI2.o \
		PixMcc/PixMccStructures.o \
		PixModule/PixModule.o \
		PixModuleGroup/PixModuleGroup.o \
		PixProber/PixProber.o \
		PixProber/SuessPixProber.o \
		PixProber/LBNLPixProber.o \
		PixProber/AlessiLBNLPixProber.o
endif
endif
clean:
	cd Bits && make clean
	cd Histo && make clean
	cd PixConfDBInterface && make clean
	cd PixDbInterface && make clean
	cd Config && make clean
	cd PixController && make clean
	cd PixTrigController && make clean
	cd PixBoc && make clean
	cd PixFe && make clean
	cd PixMcc && make clean
	cd PixModule && make clean
	cd PixModuleGroup && make clean
	cd PixDcs && make clean
	cd PixProber && make clean
	cd Examples && make clean
	rm -f *.so *.a *.o  
