--- a/Makefile +++ b/Makefile @@ -1,15 +1,4 @@ -ARCH := $(shell uname -m) -ifneq ($(filter i386 i486 i586 i686, $(ARCH)),) -ARCH := i386 -endif - -CC = gcc -CFLAGS = -g -O2 -fPIC -fomit-frame-pointer -Wall -ifneq ($(filter x86_64, $(ARCH)),) -LIBDIR = /usr/lib64 -else -LIBDIR = /usr/lib -endif +CFLAGS += -fPIC -Wall LIBX86 = libx86emu VERSION := $(shell cat VERSION) @@ -24,9 +13,6 @@ .PHONY: all shared install test clean -%.o: %.c - $(CC) -c $(CFLAGS) $< - all: shared shared: $(LIB_NAME) @@ -38,13 +24,15 @@ install -m 644 -D include/x86emu.h $(DESTDIR)/usr/include/x86emu.h $(LIB_NAME): .depend $(OBJS) - $(CC) -shared -Wl,-soname,$(LIB_SONAME) $(OBJS) -o $(LIB_NAME) + $(CC) $(LDFLAGS) -shared -Wl,-soname,$(LIB_SONAME) $(OBJS) -o $(LIB_NAME) + ln -snf $(LIB_NAME) $(LIB_SONAME) + ln -snf $(LIB_SONAME) $(LIBX86).so -test: - make -C test +check: + $(MAKE) -C test clean: - make -C test clean + $(MAKE) -C test clean rm -f *.o *~ include/*~ *.so.* .depend ifneq "$(MAKECMDGOALS)" "clean" --- a/test/Makefile +++ b/test/Makefile @@ -1,9 +1,10 @@ -CC = gcc -CFLAGS = -g -Wall -fomit-frame-pointer -O2 +CFLAGS += -fPIC -Wall +CPPFLAGS += -I../include TST_FILES = $(wildcard *.tst) INIT_FILES = $(addsuffix .init,$(basename $(wildcard *.tst))) RES_FILES = $(addsuffix .result,$(basename $(wildcard *.tst))) TEST_OPTS = --verbose --show code,regs,data,acc,io,ints,attr,time +LDLIBS = -L.. -lx86emu .PHONY: all test clean .SECONDARY: $(INIT_FILES) @@ -12,13 +13,12 @@ all: x86test @./prepare_test *.tst - @./x86test $(TEST_OPTS) *.init + @LD_LIBRARY_PATH=.. ./x86test $(TEST_OPTS) *.init -x86test: x86test.c - $(CC) $(CFLAGS) $< -lx86emu -o $@ +x86test: x86test.o -%.result: %.init - @./x86test $(TEST_OPTS) $< +%.result: %.init x86test + @LD_LIBRARY_PATH=.. ./x86test $(TEST_OPTS) $< %.init: %.tst @./prepare_test $<