ppc build
[qemu] / Makefile
1 ARCH=i386
2 #ARCH=ppc
3
4 ifeq ($(ARCH),i386)
5 CFLAGS=-Wall -O2 -g
6 LDFLAGS=-g
7 LIBS=
8 CC=gcc
9 DEFINES=-DHAVE_BYTESWAP_H
10 endif
11
12 ifeq ($(ARCH),ppc)
13 GCC_LIBS_DIR=/usr/netgem/tools/lib/gcc-lib/powerpc-linux/2.95.2
14 DIST=/home/fbe/nsv/dist/hw/n6-dtt
15 CC=powerpc-linux-gcc -msoft-float 
16 CFLAGS=-Wall -pipe -O2 -mcpu=405 -mbig -nostdinc -g -I$(GCC_LIBS_DIR)/include -I$(DIST)/include
17 LIBS_DIR=$(DIST)/lib
18 CRT1=$(LIBS_DIR)/crt1.o
19 CRTI=$(LIBS_DIR)/crti.o
20 CRTN=$(LIBS_DIR)/crtn.o
21 CRTBEGIN=$(GCC_LIBS_DIR)/crtbegin.o
22 CRTEND=$(GCC_LIBS_DIR)/crtend.o
23 LDFLAGS=-static -g -nostdlib $(CRT1) $(CRTI) $(CRTBEGIN) 
24 LIBS=-L$(LIBS_DIR) -ltinyc -lgcc $(CRTEND) $(CRTN)
25 DEFINES=-Dsocklen_t=int
26 endif
27
28 #########################################################
29
30 DEFINES+=-D_GNU_SOURCE -DGEMU -DDOSEMU #-DNO_TRACE_MSGS
31 LDSCRIPT=$(ARCH).ld
32
33 OBJS= i386/fp87.o i386/interp_main.o i386/interp_modrm.o i386/interp_16_32.o \
34       i386/interp_32_16.o i386/interp_32_32.o i386/emu-utils.o \
35       i386/dis8086.o i386/emu-ldt.o
36 OBJS+= elfload.o main.o thunk.o syscall.o
37
38 SRCS = $(OBJS:.o=.c)
39
40 all: gemu
41
42 gemu: $(OBJS)
43         $(CC) -Wl,-T,$(LDSCRIPT) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
44
45 depend: $(SRCS)
46         $(CC) -MM $(CFLAGS) $^ 1>.depend
47
48 %.o: %.c
49         $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
50
51 clean:
52         rm -f *.o *~ i386/*.o i386/*~ gemu hello test1 test2 TAGS
53
54 hello: hello.c
55         $(CC) -nostdlib $(CFLAGS) -static $(LDFLAGS) -o $@ $<
56
57 test1: test1.c
58         $(CC) $(CFLAGS) -static $(LDFLAGS) -o $@ $<
59
60 test2: test2.c
61         $(CC) $(CFLAGS) -static $(LDFLAGS) -o $@ $<
62
63 ifneq ($(wildcard .depend),)
64 include .depend
65 endif