Subversion Repositories f9daq

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
145 f9daq 1
# Make variables ----------------------------------------------------
2
 
3
# ROOT include and libraries
4
ROOTINC=$(shell root-config  --incdir )
5
ROOTLIB=$(shell root-config  --libs )
6
LIBS1=$(shell root-config --cflags --glibs )
7
 
8
# Includes, 32 vs. 64 bit type, libraries
9
INC=-I. -I$(ROOTINC)
10
OSTYPE=none
11
LIBS=$(ROOTLIB) -L./ -lm
12
 
13
# Source and debug prefixes
14
SRC     = .
15
DBG     =
16
 
17
# CAMAC DAQ library variables
18
OBJ_FILES =  wusbxx_dll.o libxxusb.o
19
LIBFILE = libdaqusb.a
20
 
21
# Specific variables for the main program
22
TARGET = windowed_test
23
DAQFILE  = $(SRC)/daqusb.C
24
FILES =  $(SRC)/daqusb.C  $(SRC)/windowed_test.C  $(SRC)/daqscope.C
25
HEADER = daq.h workstation.h root_include.h windowed_test.h
26
CAMLIB = $(LIBFILE)
27
SHLIB = $(LIBFILE) libvxi11.a
28
 
29
# VXI scope connection variables, Scope DAQ library variables
30
VXIDIR = ./vxi11_$(OSTYPE)
31
#VXI_FILES = $(VXIDIR)/vxi11_user.o $(VXIDIR)/vxi11.h $(VXIDIR)/vxi11_clnt.c $(VXIDIR)/vxi11_xdr.c
32
VXI_OBJECT = $(VXIDIR)/vxi11_user.o $(VXIDIR)/vxi11_clnt.o $(VXIDIR)/vxi11_xdr.o
33
# -----------------------------------------------------------------------------
34
 
35
# Base rules ------------------------------------------------------------------
36
 
37
# Make the main program and libraries
38
all: $(TARGET) libdaqusb.so libvxi11.so
39
 
40
# Rules for making the main program
41
$(TARGET): $(FILES) workstation.h daq.h library $(SHLIB)
42
	@echo "Generating dictionary Dict.C..."
43
	rootcint -f GuiDict.C  -c $(INC)  $(CPPFLAGS)  windowed_test.h  GuiLinkDef.h
44
	$(CXX) $(INC) -fPIC -g -Wall  $(FILES) GuiDict.C  $(CPPFLAGS) $(VXI_OBJECT) -o $(TARGET) $(SHLIB) $(LIBS1) -lstdc++ -lSpectrum
45
# -----------------------------------------------------------------------------
46
 
47
# CAMAC DAQ library rules -----------------------------------------------------
48
 
49
# Rules for making CAMAC DAQ library source files (wusbxx_dll and libxxusb)
50
library: $(OBJ_FILES)
51
 
52
wusbxx_dll.o:wusbxx_dll.c wusbxx_dll.h
53
libxxusb.o: libxxusb.cpp libxxusb.h
54
 
55
.cc.o:
56
	$(CXX) -fPIC -c $<
57
	ar r $(LIBFILE) $@
58
 
59
.cpp.o:
60
	$(CXX) -fPIC -c $<
61
	ar r $(LIBFILE) $@
62
 
63
.c.o:
64
	$(CXX) -fPIC -c  $<
65
	ar r $(LIBFILE) $@
66
 
67
# Rules for recreating the CAMAC DAQ libraries even if they exist (libdaqusb.so/.a)
68
relib:
69
	rm -f libdaqusb.so libdaqusb.a libvxi11.so libvxi11.a
70
	make libdaqusb.so libvxi11.so
71
 
72
# Rule for making the CAMAC DAQ library (libdaqusb.so)
73
libdaqusb.so: $(DAQFILE) $(LIBFILE)
74
	@echo "Generating dictionary Dict.C..."
75
	rootcint -f Dict.C  -c $(INC)  $(CPPFLAGS) $(HEADER) GuiLinkDef.h
76
	$(CXX) $(CPPFLAGS) $(INC)   -fPIC -g -Wall   $(DAQFILE) Dict.C  $(CAMLIB) -shared -o $@
77
 
78
# Rule for making the CAMAC DAQ library (libdaqusb.a)
79
$(LIBFILE): $(OBJ_FILES)
80
	ar r $@ $^
81
# -----------------------------------------------------------------------------
82
 
83
# Scope DAQ library rules -----------------------------------------------------
84
 
85
libvxi11.so: libvxi11.a
86
	@echo "Generating dictionary VxiDict.C..."
87
	rootcint -f VxiDict.C -c $(INC) $(CPPFLAGS) daqscope.h GuiLinkDef.h
88
	$(CXX) $(CPPFLAGS) $(INC)  -fPIC -g -Wall  daqscope.C VxiDict.C -L. libvxi11.a -shared -o $@
89
 
90
libvxi11.a: $(VXI_OBJECT)
91
	ar r $@ $^
92
# -----------------------------------------------------------------------------
93
 
94
# Clean rule ------------------------------------------------------------------
95
 
96
# Rule for cleaning the installation
97
clean:
98
	rm -f Dict.C Dict.h GuiDict.C GuiDict.h windowed_test windowed_test_C.d windowed_test_C.so curpos.txt curvolt.txt workstation.h VxiDict.C VxiDict.h daqscope.C daqusb.C start.sh usb.h libxxusb.h libdaqusb.a libdaqusb.so libvxi11.a libvxi11.so *.o finish_sig.txt
99
# -----------------------------------------------------------------------------