# Makefile for the ROOT test programs. # This Makefile shows nicely how to compile and link applications # using the ROOT libraries on all supported platforms. # # Copyright (c) 2000 Rene Brun and Fons Rademakers # # Author: Fons Rademakers, 29/2/2000 #ROOTSYS = ../../../.. #include $(ROOTSYS)/etc/Makefile.arch #include $(ROOTSYS)/config/Makefile.config RC := root-config ifeq ($(shell which $(RC) 2>&1 | sed -ne "s@.*/$(RC)@$(RC)@p"),$(RC)) MKARCH := $(wildcard $(shell $(RC) --etcdir)/Makefile.arch) RCONFIG := $(wildcard $(shell $(RC) --incdir)/RConfigure.h) endif ifneq ($(MKARCH),) include $(MKARCH) else ifeq ($(ROOTSYS),) ROOTSYS = .. endif include $(ROOTSYS)/etc/Makefile.arch include $(ROOTSYS)/config/Makefile.config endif #------------------------------------------------------------------------------ # ifeq ($(PLATFORM),macosx) # #unroll loop better on gcc > 4 #CXXFLAGS+= -O3 -g # endif #AVXCXXFLAG := -mavx #SIMDCXXFLAGS := -mavx -msse4.2 -msse4.1 -msse4a -mssse3 -msse3 -msse2 #VCFLAGS := -fabi-version=0 -Wno-unused-function CXXFLAGS+= $(VCFLAGS) ifeq ($(NOAVX),) CXXFLAGS+= $(AVXCXXFLAG) LDFLAGS += $(AVXCXXFLAG) endif EXTRALIBS += $(ROOTSYS)/lib/libVc.a OBJS = arithmetics.o casts.o deinterleave.o expandandmerge.o gather.o implicit_type_conversion.o load.o \ mask.o math.o memory.o scalaraccess.o scatter.o sse_blend.o stlcontainer.o store.o supportfunctions.o swizzles.o utils.o PROGRAMS = arithmetics casts deinterleave expandandmerge gather implicit_type_conversion load \ mask math memory scalaraccess scatter sse_blend stlcontainer store supportfunctions swizzles utils .SUFFIXES: .$(SrcSuf) .$(ObjSuf) $(ExeSuf) arithmetics: arithmetics.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" casts: casts.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" deinterleave: deinterleave.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" expandandmerge: expandandmerge.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" gather: gather.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" implicit_type_conversion: implicit_type_conversion.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" # implicit_type_conversion_failures: implicit_type_conversion_failures.o # $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ # @echo "$@ done" # linkTest1: linkTest1.o # $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ # @echo "$@ done" load: load.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" mask: mask.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" math: math.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" memory: memory.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" scalaraccess: scalaraccess.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" scatter: scatter.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" sse_blend: sse_blend.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" stlcontainer: stlcontainer.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" store: store.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" supportfunctions: supportfunctions.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" swizzles: swizzles.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" utils: utils.o $(LD) $(LDFLAGS) $^ $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" all: $(PROGRAMS) check: all for prog in $(PROGRAMS); do \ ./$$prog > $$prog.out; \ done; clean: @rm -f $(OBJS) $(PROGRAMS) distclean: clean @rm -f $(PROGRAMS) .SUFFIXES: .$(SrcSuf) .$(SrcSuf).$(ObjSuf): $(CXX) $(CXXFLAGS) -c $<