Blame Makefile

Packit 6ad14e
# these can (and should) be overridden on the make command line for production
Packit 6ad14e
CFLAGS := -std=gnu99
Packit 6ad14e
# these are used for the benchmarks in addition to the normal CFLAGS. 
Packit 6ad14e
# Normally no need to overwrite unless you find a new magic flag to make
Packit 6ad14e
# STREAM run faster.
Packit 6ad14e
BENCH_CFLAGS := -O3 -ffast-math -funroll-loops
Packit 6ad14e
# for compatibility with old releases
Packit 6ad14e
CFLAGS += ${OPT_CFLAGS}
Packit 6ad14e
override CFLAGS += -I.
Packit 6ad14e
Packit 6ad14e
# find out if compiler supports __thread
Packit 6ad14e
THREAD_SUPPORT := $(shell if $(CC) $(CFLAGS) threadtest.c -o threadtest \
Packit 6ad14e
			>/dev/null 2>/dev/null ; then echo "yes" ; else echo "no"; fi)
Packit 6ad14e
ifeq ($(THREAD_SUPPORT),no)
Packit 6ad14e
	override CFLAGS += -D__thread=""
Packit 6ad14e
endif
Packit 6ad14e
Packit 6ad14e
# find out if compiler supports -ftree-vectorize
Packit 6ad14e
THREAD_SUPPORT := $(shell touch empty.c ; if $(CC) $(CFLAGS) -c -ftree-vectorize empty.c -o empty.o \
Packit 6ad14e
			>/dev/null 2>/dev/null ; then echo "yes" ; else echo "no"; fi)
Packit 6ad14e
ifeq ($(THREAD_SUPPORT),yes)
Packit 6ad14e
	BENCH_CFLAGS += -ftree-vectorize
Packit 6ad14e
endif
Packit 6ad14e
Packit 6ad14e
CLEANFILES := numad.o numad .depend .depend.X empty.c empty.o
Packit 6ad14e
Packit 6ad14e
SOURCES := numad.c
Packit 6ad14e
Packit 6ad14e
prefix := /usr
Packit 6ad14e
docdir := ${prefix}/share/doc
Packit 6ad14e
Packit 6ad14e
all: numad
Packit 6ad14e
Packit 6ad14e
LDLIBS := -lpthread -lrt -lm
Packit 6ad14e
numad: numad.o
Packit 6ad14e
Packit 6ad14e
AR ?= ar
Packit 6ad14e
RANLIB ?= ranlib
Packit 6ad14e
Packit 6ad14e
.PHONY: install all clean html depend
Packit 6ad14e
Packit 6ad14e
# BB_FIXME MANPAGES := numa.3 numactl.8 numastat.8 migratepages.8 migspeed.8
Packit 6ad14e
Packit 6ad14e
install: numad
Packit 6ad14e
	mkdir -p ${prefix}/bin
Packit 6ad14e
	mkdir -p ${prefix}/share/man/man8
Packit 6ad14e
	install -m 0755 numad ${prefix}/bin
Packit 6ad14e
	install -m 0644 numad.8 ${prefix}/share/man/man8
Packit 6ad14e
Packit 6ad14e
clean: 
Packit 6ad14e
	rm -f ${CLEANFILES}
Packit 6ad14e
	@rm -rf html
Packit 6ad14e
Packit 6ad14e
distclean: clean
Packit 6ad14e
	rm -f .[^.]* */.[^.]*
Packit 6ad14e
	rm -f *~ */*~ *.orig */*.orig */*.rej *.rej 
Packit 6ad14e
Packit 6ad14e
depend: .depend
Packit 6ad14e
Packit 6ad14e
.depend:
Packit 6ad14e
	${CC} -MM -DDEPS_RUN -I. ${SOURCES} > .depend.X && mv .depend.X .depend
Packit 6ad14e
Packit 6ad14e
include .depend
Packit 6ad14e
Packit 6ad14e
Makefile: .depend
Packit 6ad14e