aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile26
1 files changed, 18 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index 7f0f8be2ba..ea67590c3c 100644
--- a/Makefile
+++ b/Makefile
@@ -36,21 +36,27 @@ LDFLAGS+=-p
main.o: CFLAGS+=-p
endif
-OBJS= elfload.o main.o thunk.o syscall.o
-OBJS+=translate-i386.o op-i386.o exec-i386.o
+OBJS= elfload.o main.o thunk.o syscall.o libgemu.a
+
+LIBOBJS+=translate-i386.o op-i386.o exec-i386.o
# NOTE: the disassembler code is only needed for debugging
-OBJS+=i386-dis.o dis-buf.o
+LIBOBJS+=i386-dis.o dis-buf.o
SRCS = $(OBJS:.o=.c)
all: gemu
gemu: $(OBJS)
- $(CC) -Wl,-T,$(LDSCRIPT) $(LDFLAGS) -o $@ $^ $(LIBS)
+ $(CC) -Wl,-T,$(LDSCRIPT) $(LDFLAGS) -o $@ $^ $(LIBS)
depend: $(SRCS)
$(CC) -MM $(CFLAGS) $^ 1>.depend
-# new i386 emulator
+# libgemu
+
+libgemu.a: $(LIBOBJS)
+ rm -f $@
+ $(AR) rcs $@ $(LIBOBJS)
+
dyngen: dyngen.c
$(HOST_CC) -O2 -Wall -g $< -o $@
@@ -67,11 +73,14 @@ op-i386.o: op-i386.c opreg_template.h ops_template.h
clean:
$(MAKE) -C tests clean
- rm -f *.o *~ gemu dyngen TAGS
+ rm -f *.o *.a *~ gemu dyngen TAGS
distclean: clean
rm -f config.mak config.h
+install: gemu
+ install -m755 -s gemu $(prefix)/bin
+
# various test targets
test speed: gemu
make -C tests $@
@@ -89,8 +98,9 @@ dis-buf.c i386-dis.c opreg_template.h syscall_defs.h\
i386.ld ppc.ld exec-i386.h exec-i386.c configure VERSION \
tests/Makefile\
tests/test-i386.c tests/test-i386-shift.h tests/test-i386.h\
-tests/test-i386-muldiv.h\
-tests/test2.c tests/hello.c tests/hello tests/sha1.c
+tests/test-i386-muldiv.h tests/test-i386-code16.S\
+tests/hello.c tests/hello tests/sha1.c \
+tests/testsig.c tests/testclone.c tests/testthread.c
FILE=gemu-$(VERSION)