Use the prefix in the Makefile, so it can be packaged properly.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
PROGS = fio
SCRIPTS = fio_generate_plots
PROGS = fio
SCRIPTS = fio_generate_plots
+INSTALL = install
+prefix = /usr/local
+bindir = $(prefix)/bin
+libdir = $(prefix)/lib/fio
+
+FIO_INST_DIR = $(subst ','\'',$(prefix))
+
+CFLAGS += '-D_INST_PREFIX="$(FIO_INST_DIR)"'
+
all: depend $(PROGS) $(SCRIPTS)
$(MAKE) -C engines
all: depend $(PROGS) $(SCRIPTS)
$(MAKE) -C engines
-INSTALL = install
-prefix = /usr/local
-bindir = $(prefix)/bin
-libdir = $(prefix)/lib/fio
-
install: $(PROGS) $(SCRIPTS)
$(INSTALL) -m755 -d $(DESTDIR)$(bindir)
$(INSTALL) $(PROGS) $(SCRIPTS) $(DESTDIR)$(bindir)
install: $(PROGS) $(SCRIPTS)
$(INSTALL) -m755 -d $(DESTDIR)$(bindir)
$(INSTALL) $(PROGS) $(SCRIPTS) $(DESTDIR)$(bindir)
int shm_id = 0;
static struct timeval genesis;
static int temp_stall_ts;
int shm_id = 0;
static struct timeval genesis;
static int temp_stall_ts;
+char *fio_inst_prefix = _INST_PREFIX;
static void print_thread_status(void);
static void print_thread_status(void);
extern int terse_output;
extern FILE *f_out;
extern FILE *f_err;
extern int terse_output;
extern FILE *f_out;
extern FILE *f_err;
+extern char *fio_inst_prefix;
extern struct thread_data *threads;
extern struct thread_data *threads;
if (!strncmp(engine, "linuxaio", 8) || !strncmp(engine, "aio", 3))
strcpy(engine, "libaio");
if (!strncmp(engine, "linuxaio", 8) || !strncmp(engine, "aio", 3))
strcpy(engine, "libaio");
- sprintf(engine_lib, "/usr/local/lib/fio/fio-engine-%s.o", engine);
+ sprintf(engine_lib, "%s/lib/fio/fio-engine-%s.o", fio_inst_prefix, engine);
dlerror();
dlhandle = dlopen(engine_lib, RTLD_LAZY);
if (!dlhandle) {
dlerror();
dlhandle = dlopen(engine_lib, RTLD_LAZY);
if (!dlhandle) {