Files
sics/tecs/makefile
2003-03-12 13:39:41 +00:00

95 lines
2.7 KiB
Makefile

#---------------------------------------------------------------------------
# Makefile for the TECS Client library and TecsServer
#
# Markus Zolliker, March 2000
# may now be used on different systems without change M.Z.01.2002
#--------------------------------------------------------------------------
#------------ for DigitalUnix (add -DFORTIFY to CC_... for fortified version)
OPT_$(OSTYPE)=ao
ao_CC=cc -std1 -g -warnprotos -I../ -I. -I../hardsup
ao_FOR=f77 -u -g
ao_TECLI_LIB=-L/data/lnslib/lib -lpgplot -lX11 -lXm -so_archive
ao_SYS_FILE=sys_aunix
#---------- for Redhat linux with tcsh (rita2)
OPT_($OSTYPE)=lr
lr_CC= gcc -I/usr/local/include -I. -I../ -I../hardsup -DLINUX -g
lr_FOR= g77 -u -fvxt -g
lr_SYS_FILE=sys_linux
lr_TECLI_LIB=pgplot/libpgplot.a -L/usr/X11R6/lib -lX11
#------------
#---------- for Redhat linux with bash on llc3 or llc4
OPT_$(HOSTNAME)=ll
ll_CC=$(lr_CC)
ll_FOR=$(lr_FOR)
ll_SYS_FILE=$(lr_SYS_FILE)
ll_TECLI_LIB=/afs/psi.ch/project/sinq/linux/pgplot/libpgplot.a \
-L/usr/X11R6/lib -lX11
#------------
OPT=$(OPT_llc3)$(OPT_llc4)$(OPT_linux)$(OPT_osf1)
CC =$($(OPT)_CC)
FOR =$($(OPT)_FOR)
TECLI_LIB=$($(OPT)_TECLI_LIB)
SYS_FILE =$($(OPT)_SYS_FILE)
LIBR_OBJ= coc_util.o myc_err.o myc_str.o myc_buf.o myc_time.o
SERV_OBJ= tecs.o coc_server.o tecs_lsc.o tecs_serial.o coc_logfile.o tecs_data.o $(LIBR_OBJ)
CLI_OBJ= tecs_cli.o coc_client.o $(LIBR_OBJ)
TCLI_OBJ= $(SYS_FILE).o $(SYS_FILE)_c.o $(CLI_OBJ)
TECLI_OBJ= tecs_client.o tecs_plot.o sys_util.o str.o instr_hosts.o $(TCLI_OBJ)
.f.o:
$(FOR) -c $*.f
.c.o:
$(CC) -c $*.c
libtecsl.a: $(CLI_OBJ)
- rm libtecsl.a
ar cr libtecsl.a $(CLI_OBJ)
ranlib libtecsl.a
test:
echo $(CC)x$(OPT)
all: libtecsl.a bin/TecsServer bin/TecsClient bin/keep_running
six: bin/six
bin/TecsServer: $(SERV_OBJ)
- rm bin/TecsServer
$(CC) -o bin/TecsServer $(SERV_OBJ) -lm -L../hardsup -lhlib
bin/TecsClient: $(TECLI_OBJ)
$(FOR) -o bin/TecsClient $(TECLI_OBJ) \
$(TECLI_LIB) -lreadline -ltermcap
bin/libtecs.so: tecs_c.c $(CLI_OBJ)
$(CC) -shared -o bin/libtecs.so tecs_c.c $(CLI_OBJ)
bin/six: six.c term.c sys_select.c libtecsl.a
$(CC) -o bin/six six.c term.c sys_select.c libtecsl.a
rstart: rstart.c myc_str.o myc_err.o instr_hosts.o
$(CC) -o rstart rstart.c myc_str.o myc_err.o instr_hosts.o
serverd: serverd.c myc_str.o myc_err.o coc_util.o myc_buf.o
$(CC) -o serverd serverd.c myc_str.o myc_err.o coc_util.o myc_buf.o -lm
starts: starts.c myc_str.o myc_err.o coc_util.o myc_buf.o
$(CC) -o starts starts.c myc_str.o myc_err.o coc_util.o myc_buf.o -lm
bin/keep_running: keep_running.c
$(CC) -o bin/keep_running keep_running.c
clean:
- rm *.o
- rm *.a
- rm bin/TecsServer
- rm bin/TecsClient