SCRIPTNAME=TPC-feeScope PROJNAME=daq-TPC-feeScope VERSION=1.1 RELEASE=0 KIT:=$(PROJNAME)-${VERSION} SRCS=bin include Makefile scripts src CFLAGS = -c -g -O3 DATE_DIR=/date DATE_RORC_DIR=${DATE_DIR}/rorc DATE_RORC_BIN=${DATE_RORC_DIR}/Linux DATE_FEC_DIR=${DATE_DIR}/fec DATE_FEC_BIN=${DATE_FEC_DIR}/Linux DATEOBJS=${DATE_FEC_BIN}/fec2rorc_lib.o ${DATE_RORC_BIN}/rorc_lib_p.o \ ${DATE_RORC_BIN}/rorc_ddl_p.o ${DATE_RORC_BIN}/rorc_aux.o TOOLOBJS=rcc_error.o rcc_time_stamp.o get_input.o # local temp directory ifeq (${PWD},) PWD := ${shell pwd} endif TMPDIR := ${PWD}/tmp # =================================================================== default : install # =========== TOOLS ================================================= rcc_error.o: include/rcc_error.h src/rcc_error.c gcc $(CFLAGS) -Wall -I./include src/rcc_error.c -o rcc_error.o @echo " ======================================================" # =================================================================== rcc_time_stamp.o: include/rcc_time_stamp.h src/rcc_time_stamp.c gcc $(CFLAGS) -Wall -I./include -DTSTAMP src/rcc_time_stamp.c -o rcc_time_stamp.o @echo " ======================================================" # =================================================================== get_input.o: src/get_input.c gcc $(CFLAGS) -Wall -I./include src/get_input.c -o get_input.o @echo " ======================================================" # =========== RCU STUFF ============================================= rcu_lib.o: src/rcu_lib.c include/rcu.h ${DATE_FEC_DIR}/fec2rorc_lib.h ${DATE_RORC_DIR}/rorc_lib.h gcc $(CFLAGS) -I${DATE_FEC_DIR} -I${DATE_RORC_DIR} -I./include -DRCUDEBUG src/rcu_lib.c -o rcu_lib.o @echo " ======================================================" # =================================================================== rcuscope.o: src/rcuscope.c include/rcu.h ${DATE_FEC_DIR}/fec2rorc_lib.h ${DATE_RORC_DIR}/rorc_lib.h gcc $(CFLAGS) -I${DATE_FEC_DIR} -I${DATE_RORC_DIR} -I./include src/rcuscope.c -o rcuscope.o @echo " ======================================================" # =========== FEC STUFF ============================================= fec_lib.o: src/fec_lib.c include/fec.h include/rcu.h ${DATE_FEC_DIR}/fec2rorc_lib.h gcc $(CFLAGS) -I${DATE_FEC_DIR} -I${DATE_RORC_DIR} -I./include src/fec_lib.c -o fec_lib.o @echo " ======================================================" # =================================================================== fecscope.o: src/fecscope.c include/fec.h include/rcu.h gcc $(CFLAGS) -I${DATE_FEC_DIR} -I${DATE_RORC_DIR} -I./include src/fecscope.c -o fecscope.o @echo " ======================================================" # =========== MAGNUS STUFF ========================================== altro-loopback.o: src/altro-loopback.c gcc $(CFLAGS) -I${DATE_FEC_DIR} -I${DATE_RORC_DIR} -I./include src/altro-loopback.c -o altro-loopback.o @echo " ======================================================" # =================================================================== altro-errors.o: src/altro-errors.c gcc $(CFLAGS) -I${DATE_FEC_DIR} -I${DATE_RORC_DIR} -I./include src/altro-errors.c -o altro-errors.o @echo " ======================================================" # ======= EXECUTABLES =============================================== rcuscope: rcuscope.o rcu_lib.o ${TOOLOBJS} ${DATEOBJS} gcc rcuscope.o rcu_lib.o ${TOOLOBJS} ${DATEOBJS} -o rcuscope @echo " ======================================================" # =================================================================== fecscope: fecscope.o fec_lib.o rcu_lib.o ${TOOLOBJS} ${DATEOBJS} gcc fecscope.o fec_lib.o rcu_lib.o ${TOOLOBJS} ${DATEOBJS} -o fecscope @echo " ======================================================" # =================================================================== altro-loopback: altro-loopback.o fec_lib.o rcu_lib.o ${TOOLOBJS} ${DATEOBJS} gcc altro-loopback.o fec_lib.o rcu_lib.o ${TOOLOBJS} ${DATEOBJS} -o altro-loopback @echo " ======================================================" # =================================================================== altro-errors: altro-errors.o fec_lib.o rcu_lib.o ${TOOLOBJS} ${DATEOBJS} gcc altro-errors.o fec_lib.o rcu_lib.o ${TOOLOBJS} ${DATEOBJS} -o altro-errors @echo " ======================================================" # =================================================================== install: all mv altro-loopback altro-errors rcuscope fecscope bin/ @echo " ======================================================" # =================================================================== all: rcuscope fecscope altro-loopback altro-errors # =================================================================== clean: rm -rf ${TMPDIR} *.so *.o *~ bin/* lib/* */*~ *.rpm *.tar.gz @echo " ======================================================" # ======================= make RPM ================================== rpm : @rm -rf ${TMPDIR}/${KIT} @mkdir -p ${TMPDIR}/${KIT} @cp -rp ${SRCS} ${TMPDIR}/${KIT} @tar -cz -C ${TMPDIR} ${KIT} > ./${KIT}.src.tar.gz @echo " ===== Source package ${KIT}.src.tar.gz created: =====" @tar -tzf ./${KIT}.src.tar.gz @echo " ======================================================" @rm -rf $(TMPDIR)/SOURCES $(TMPDIR)/SPECS $(TMPDIR)/BUILD $(TMPDIR)/RPMS $(TMPDIR)/SRPMS @mkdir -p $(TMPDIR)/SOURCES $(TMPDIR)/SPECS $(TMPDIR)/BUILD $(TMPDIR)/RPMS $(TMPDIR)/SRPMS @cp ./${KIT}.src.tar.gz $(TMPDIR)/SOURCES @rpmbuild --define "_topdir $(TMPDIR)" -ba $(KIT)-$(RELEASE).spec @find $(TMPDIR)/ -name "${KIT}-*.rpm" -exec cp -p {} . \; @echo @echo " ===== Rpms created! ==================================" @echo " ======================================================"