Annotation of qemu/Makefile.target, revision 1.1.1.4

1.1       root        1: include config.mak
                      2: 
                      3: TARGET_BASE_ARCH:=$(TARGET_ARCH)
                      4: ifeq ($(TARGET_ARCH), x86_64)
                      5: TARGET_BASE_ARCH:=i386
                      6: endif
                      7: ifeq ($(TARGET_ARCH), ppc64)
                      8: TARGET_BASE_ARCH:=ppc
                      9: endif
                     10: ifeq ($(TARGET_ARCH), sparc64)
                     11: TARGET_BASE_ARCH:=sparc
                     12: endif
                     13: TARGET_PATH=$(SRC_PATH)/target-$(TARGET_BASE_ARCH)
                     14: VPATH=$(SRC_PATH):$(TARGET_PATH):$(SRC_PATH)/hw:$(SRC_PATH)/audio
1.1.1.3   root       15: DEFINES=-I. -I.. -I$(TARGET_PATH) -I$(SRC_PATH)
1.1       root       16: ifdef CONFIG_USER_ONLY
                     17: VPATH+=:$(SRC_PATH)/linux-user
                     18: DEFINES+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ARCH)
                     19: endif
                     20: CFLAGS=-Wall -O2 -g -fno-strict-aliasing
                     21: #CFLAGS+=-Werror
                     22: LDFLAGS=-g
                     23: LIBS=
                     24: HELPER_CFLAGS=$(CFLAGS)
                     25: DYNGEN=../dyngen$(EXESUF)
                     26: # user emulator name
1.1.1.3   root       27: TARGET_ARCH2=$(TARGET_ARCH)
1.1       root       28: ifeq ($(TARGET_ARCH),arm)
                     29:   ifeq ($(TARGET_WORDS_BIGENDIAN),yes)
1.1.1.3   root       30:     TARGET_ARCH2=armeb
1.1       root       31:   endif
1.1.1.3   root       32: endif
1.1.1.4 ! root       33: ifeq ($(TARGET_ARCH),sh4)
        !            34:   ifeq ($(TARGET_WORDS_BIGENDIAN),yes)
        !            35:     TARGET_ARCH2=sh4eb
        !            36:   endif
        !            37: endif
1.1.1.2   root       38: ifeq ($(TARGET_ARCH),mips)
1.1.1.3   root       39:   ifneq ($(TARGET_WORDS_BIGENDIAN),yes)
                     40:     TARGET_ARCH2=mipsel
1.1.1.2   root       41:   endif
                     42: endif
1.1.1.3   root       43: QEMU_USER=qemu-$(TARGET_ARCH2)
1.1       root       44: # system emulator name
                     45: ifdef CONFIG_SOFTMMU
                     46: ifeq ($(TARGET_ARCH), i386)
                     47: QEMU_SYSTEM=qemu$(EXESUF)
                     48: else
1.1.1.3   root       49: QEMU_SYSTEM=qemu-system-$(TARGET_ARCH2)$(EXESUF)
1.1       root       50: endif
                     51: else
                     52: QEMU_SYSTEM=qemu-fast
                     53: endif
                     54: 
                     55: ifdef CONFIG_USER_ONLY
                     56: PROGS=$(QEMU_USER)
                     57: else
                     58: PROGS+=$(QEMU_SYSTEM)
                     59: ifndef CONFIG_SOFTMMU
                     60: CONFIG_STATIC=y
                     61: endif
                     62: endif # !CONFIG_USER_ONLY
                     63: 
                     64: ifdef CONFIG_STATIC
                     65: LDFLAGS+=-static
                     66: endif
                     67: 
                     68: ifeq ($(ARCH),i386)
                     69: CFLAGS+=-fomit-frame-pointer
                     70: OP_CFLAGS=$(CFLAGS) -mpreferred-stack-boundary=2
                     71: ifeq ($(HAVE_GCC3_OPTIONS),yes)
                     72: OP_CFLAGS+= -falign-functions=0 -fno-gcse
                     73: else
                     74: OP_CFLAGS+= -malign-functions=0
                     75: endif
                     76: 
                     77: ifdef TARGET_GPROF
                     78: USE_I386_LD=y
                     79: endif
                     80: ifdef CONFIG_STATIC
                     81: USE_I386_LD=y
                     82: endif
                     83: ifdef USE_I386_LD
                     84: LDFLAGS+=-Wl,-T,$(SRC_PATH)/i386.ld
                     85: else
                     86: # WARNING: this LDFLAGS is _very_ tricky : qemu is an ELF shared object
                     87: # that the kernel ELF loader considers as an executable. I think this
                     88: # is the simplest way to make it self virtualizable!
                     89: LDFLAGS+=-Wl,-shared
                     90: endif
                     91: endif
                     92: 
                     93: ifeq ($(ARCH),x86_64)
                     94: OP_CFLAGS=$(CFLAGS) -falign-functions=0
                     95: LDFLAGS+=-Wl,-T,$(SRC_PATH)/x86_64.ld
                     96: endif
                     97: 
                     98: ifeq ($(ARCH),ppc)
                     99: CFLAGS+= -D__powerpc__
                    100: OP_CFLAGS=$(CFLAGS)
                    101: LDFLAGS+=-Wl,-T,$(SRC_PATH)/ppc.ld
                    102: endif
                    103: 
                    104: ifeq ($(ARCH),s390)
                    105: OP_CFLAGS=$(CFLAGS)
                    106: LDFLAGS+=-Wl,-T,$(SRC_PATH)/s390.ld
                    107: endif
                    108: 
                    109: ifeq ($(ARCH),sparc)
1.1.1.4 ! root      110: ifeq ($(CONFIG_SOLARIS),yes)
        !           111: CFLAGS+=-mcpu=ultrasparc -m32 -ffixed-g2 -ffixed-g3
        !           112: LDFLAGS+=-m32
        !           113: OP_CFLAGS=$(CFLAGS) -fno-delayed-branch -fno-omit-frame-pointer -ffixed-i0
        !           114: else
        !           115: CFLAGS+=-mcpu=ultrasparc -m32 -ffixed-g1 -ffixed-g2 -ffixed-g3 -ffixed-g6
1.1       root      116: LDFLAGS+=-m32
                    117: OP_CFLAGS=$(CFLAGS) -fno-delayed-branch -ffixed-i0
                    118: HELPER_CFLAGS=$(CFLAGS) -ffixed-i0 -mflat
                    119: # -static is used to avoid g1/g3 usage by the dynamic linker
                    120: LDFLAGS+=-Wl,-T,$(SRC_PATH)/sparc.ld -static
                    121: endif
1.1.1.4 ! root      122: endif
1.1       root      123: 
                    124: ifeq ($(ARCH),sparc64)
1.1.1.4 ! root      125: CFLAGS+=-mcpu=ultrasparc -m64 -ffixed-g1 -ffixed-g4 -ffixed-g5 -ffixed-g7
1.1       root      126: LDFLAGS+=-m64
1.1.1.4 ! root      127: LDFLAGS+=-Wl,-T,$(SRC_PATH)/sparc64.ld
1.1       root      128: OP_CFLAGS=$(CFLAGS) -fno-delayed-branch -ffixed-i0
                    129: endif
                    130: 
                    131: ifeq ($(ARCH),alpha)
                    132: # -msmall-data is not used because we want two-instruction relocations
                    133: # for the constant constructions
                    134: OP_CFLAGS=-Wall -O2 -g
                    135: # Ensure there's only a single GP
                    136: CFLAGS += -msmall-data
                    137: LDFLAGS+=-Wl,-T,$(SRC_PATH)/alpha.ld
                    138: endif
                    139: 
                    140: ifeq ($(ARCH),ia64)
                    141: CFLAGS += -mno-sdata
                    142: OP_CFLAGS=$(CFLAGS)
                    143: LDFLAGS+=-Wl,-G0 -Wl,-T,$(SRC_PATH)/ia64.ld
                    144: endif
                    145: 
                    146: ifeq ($(ARCH),arm)
                    147: OP_CFLAGS=$(CFLAGS) -mno-sched-prolog -fno-omit-frame-pointer
                    148: LDFLAGS+=-Wl,-T,$(SRC_PATH)/arm.ld
                    149: endif
                    150: 
                    151: ifeq ($(ARCH),m68k)
                    152: OP_CFLAGS=$(CFLAGS) -fomit-frame-pointer
                    153: LDFLAGS+=-Wl,-T,m68k.ld
                    154: endif
                    155: 
                    156: ifeq ($(HAVE_GCC3_OPTIONS),yes)
                    157: # very important to generate a return at the end of every operation
                    158: OP_CFLAGS+=-fno-reorder-blocks -fno-optimize-sibling-calls
                    159: endif
                    160: 
                    161: ifeq ($(CONFIG_DARWIN),yes)
                    162: OP_CFLAGS+= -mdynamic-no-pic
                    163: LIBS+=-lmx
                    164: endif
                    165: 
                    166: #########################################################
                    167: 
                    168: DEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
                    169: LIBS+=-lm
                    170: ifndef CONFIG_USER_ONLY
                    171: LIBS+=-lz
                    172: endif
                    173: ifdef CONFIG_WIN32
                    174: LIBS+=-lwinmm -lws2_32 -liphlpapi
                    175: endif
1.1.1.3   root      176: ifdef CONFIG_SOLARIS
                    177: LIBS+=-lsocket -lnsl -lresolv
                    178: endif
1.1       root      179: 
                    180: # profiling code
                    181: ifdef TARGET_GPROF
                    182: LDFLAGS+=-p
                    183: main.o: CFLAGS+=-p
                    184: endif
                    185: 
1.1.1.4 ! root      186: OBJS= main.o syscall.o mmap.o signal.o path.o osdep.o thunk.o \
        !           187:       elfload.o linuxload.o
        !           188: ifdef TARGET_HAS_BFLT
        !           189: OBJS+= flatload.o
        !           190: endif
        !           191: 
1.1       root      192: ifeq ($(TARGET_ARCH), i386)
                    193: OBJS+= vm86.o
                    194: endif
                    195: ifeq ($(TARGET_ARCH), arm)
                    196: OBJS+=nwfpe/fpa11.o nwfpe/fpa11_cpdo.o \
                    197: nwfpe/fpa11_cpdt.o nwfpe/fpa11_cprt.o nwfpe/fpopcode.o nwfpe/single_cpdo.o \
                    198:  nwfpe/double_cpdo.o nwfpe/extended_cpdo.o arm-semi.o
                    199: endif
                    200: SRCS:= $(OBJS:.o=.c)
                    201: OBJS+= libqemu.a
                    202: 
                    203: # cpu emulator library
                    204: LIBOBJS=exec.o kqemu.o translate-op.o translate-all.o cpu-exec.o\
                    205:         translate.o op.o 
                    206: ifdef CONFIG_SOFTFLOAT
                    207: LIBOBJS+=fpu/softfloat.o
                    208: else
                    209: LIBOBJS+=fpu/softfloat-native.o
                    210: endif
                    211: DEFINES+=-I$(SRC_PATH)/fpu
                    212: 
                    213: ifeq ($(TARGET_ARCH), i386)
                    214: LIBOBJS+=helper.o helper2.o
                    215: ifeq ($(ARCH), i386)
                    216: LIBOBJS+=translate-copy.o
                    217: endif
                    218: endif
                    219: 
                    220: ifeq ($(TARGET_ARCH), x86_64)
                    221: LIBOBJS+=helper.o helper2.o
                    222: endif
                    223: 
                    224: ifeq ($(TARGET_BASE_ARCH), ppc)
                    225: LIBOBJS+= op_helper.o helper.o
                    226: endif
                    227: 
                    228: ifeq ($(TARGET_ARCH), mips)
                    229: LIBOBJS+= op_helper.o helper.o
                    230: endif
                    231: 
                    232: ifeq ($(TARGET_BASE_ARCH), sparc)
                    233: LIBOBJS+= op_helper.o helper.o
                    234: endif
                    235: 
                    236: ifeq ($(TARGET_BASE_ARCH), arm)
1.1.1.2   root      237: LIBOBJS+= op_helper.o helper.o
1.1       root      238: endif
                    239: 
1.1.1.3   root      240: ifeq ($(TARGET_BASE_ARCH), sh4)
                    241: LIBOBJS+= op_helper.o helper.o
                    242: endif
                    243: 
1.1       root      244: # NOTE: the disassembler code is only needed for debugging
                    245: LIBOBJS+=disas.o 
                    246: ifeq ($(findstring i386, $(TARGET_ARCH) $(ARCH)),i386)
                    247: USE_I386_DIS=y
                    248: endif
                    249: ifeq ($(findstring x86_64, $(TARGET_ARCH) $(ARCH)),x86_64)
                    250: USE_I386_DIS=y
                    251: endif
                    252: ifdef USE_I386_DIS
                    253: LIBOBJS+=i386-dis.o
                    254: endif
                    255: ifeq ($(findstring alpha, $(TARGET_ARCH) $(ARCH)),alpha)
                    256: LIBOBJS+=alpha-dis.o
                    257: endif
                    258: ifeq ($(findstring ppc, $(TARGET_BASE_ARCH) $(ARCH)),ppc)
                    259: LIBOBJS+=ppc-dis.o
                    260: endif
                    261: ifeq ($(findstring mips, $(TARGET_ARCH) $(ARCH)),mips)
                    262: LIBOBJS+=mips-dis.o
                    263: endif
                    264: ifeq ($(findstring sparc, $(TARGET_BASE_ARCH) $(ARCH)),sparc)
                    265: LIBOBJS+=sparc-dis.o
                    266: endif
                    267: ifeq ($(findstring arm, $(TARGET_ARCH) $(ARCH)),arm)
                    268: LIBOBJS+=arm-dis.o
                    269: endif
1.1.1.2   root      270: ifeq ($(findstring m68k, $(TARGET_ARCH) $(ARCH)),m68k)
                    271: LIBOBJS+=m68k-dis.o
                    272: endif
1.1.1.3   root      273: ifeq ($(findstring sh4, $(TARGET_ARCH) $(ARCH)),sh4)
                    274: LIBOBJS+=sh4-dis.o
1.1       root      275: endif
1.1.1.3   root      276: 
1.1       root      277: ifdef CONFIG_GDBSTUB
                    278: OBJS+=gdbstub.o
                    279: endif
                    280: 
                    281: all: $(PROGS)
                    282: 
                    283: $(QEMU_USER): $(OBJS)
                    284:        $(CC) $(LDFLAGS) -o $@ $^  $(LIBS)
                    285: ifeq ($(ARCH),alpha)
                    286: # Mark as 32 bit binary, i. e. it will be mapped into the low 31 bit of
                    287: # the address space (31 bit so sign extending doesn't matter)
                    288:        echo -ne '\001\000\000\000' | dd of=qemu bs=1 seek=48 count=4 conv=notrunc
                    289: endif
                    290: 
                    291: # must use static linking to avoid leaving stuff in virtual address space
1.1.1.3   root      292: VL_OBJS=vl.o osdep.o block.o readline.o monitor.o pci.o console.o loader.o
1.1       root      293: VL_OBJS+=block-cow.o block-qcow.o aes.o block-vmdk.o block-cloop.o block-dmg.o block-bochs.o block-vpc.o block-vvfat.o
1.1.1.3   root      294: ifdef CONFIG_WIN32
                    295: VL_OBJS+=tap-win32.o
                    296: endif
1.1       root      297: 
1.1.1.2   root      298: SOUND_HW = sb16.o es1370.o
1.1       root      299: AUDIODRV = audio.o noaudio.o wavaudio.o
                    300: ifdef CONFIG_SDL
                    301: AUDIODRV += sdlaudio.o
                    302: endif
                    303: ifdef CONFIG_OSS
                    304: AUDIODRV += ossaudio.o
                    305: endif
1.1.1.2   root      306: ifdef CONFIG_COREAUDIO
                    307: AUDIODRV += coreaudio.o
                    308: endif
                    309: ifdef CONFIG_ALSA
                    310: AUDIODRV += alsaaudio.o
                    311: LIBS += -lasound
                    312: endif
                    313: ifdef CONFIG_DSOUND
                    314: AUDIODRV += dsoundaudio.o
                    315: LIBS += -lole32 -ldxguid
1.1       root      316: endif
                    317: ifdef CONFIG_FMOD
                    318: AUDIODRV += fmodaudio.o
                    319: audio.o fmodaudio.o: DEFINES := -I$(CONFIG_FMOD_INC) $(DEFINES)
                    320: LIBS += $(CONFIG_FMOD_LIB)
                    321: endif
1.1.1.2   root      322: ifdef CONFIG_ADLIB
                    323: SOUND_HW += fmopl.o adlib.o
                    324: endif
1.1.1.4 ! root      325: AUDIODRV+= wavcapture.o
        !           326: 
        !           327: # SCSI layer
        !           328: VL_OBJS+= scsi-disk.o cdrom.o lsi53c895a.o
1.1.1.2   root      329: 
                    330: # USB layer
1.1.1.4 ! root      331: VL_OBJS+= usb.o usb-hub.o usb-linux.o usb-hid.o usb-ohci.o usb-msd.o
1.1.1.3   root      332: 
                    333: # PCI network cards
1.1.1.4 ! root      334: VL_OBJS+= ne2000.o rtl8139.o pcnet.o
1.1       root      335: 
                    336: ifeq ($(TARGET_BASE_ARCH), i386)
                    337: # Hardware support
1.1.1.3   root      338: VL_OBJS+= ide.o pckbd.o ps2.o vga.o $(SOUND_HW) dma.o $(AUDIODRV)
                    339: VL_OBJS+= fdc.o mc146818rtc.o serial.o i8259.o i8254.o pcspk.o pc.o
1.1.1.4 ! root      340: VL_OBJS+= cirrus_vga.o mixeng.o apic.o parallel.o acpi.o piix_pci.o
        !           341: VL_OBJS+= usb-uhci.o
1.1.1.2   root      342: DEFINES += -DHAS_AUDIO
1.1       root      343: endif
                    344: ifeq ($(TARGET_BASE_ARCH), ppc)
1.1.1.3   root      345: VL_OBJS+= ppc.o ide.o pckbd.o ps2.o vga.o $(SOUND_HW) dma.o $(AUDIODRV)
1.1       root      346: VL_OBJS+= mc146818rtc.o serial.o i8259.o i8254.o fdc.o m48t59.o
                    347: VL_OBJS+= ppc_prep.o ppc_chrp.o cuda.o adb.o openpic.o heathrow_pic.o mixeng.o
1.1.1.4 ! root      348: VL_OBJS+= grackle_pci.o prep_pci.o unin_pci.o
1.1.1.2   root      349: DEFINES += -DHAS_AUDIO
1.1       root      350: endif
                    351: ifeq ($(TARGET_ARCH), mips)
1.1.1.3   root      352: VL_OBJS+= mips_r4k.o dma.o vga.o serial.o i8254.o i8259.o
1.1       root      353: #VL_OBJS+= #ide.o pckbd.o fdc.o m48t59.o
                    354: endif
                    355: ifeq ($(TARGET_BASE_ARCH), sparc)
                    356: ifeq ($(TARGET_ARCH), sparc64)
1.1.1.4 ! root      357: VL_OBJS+= sun4u.o ide.o pckbd.o ps2.o vga.o apb_pci.o
1.1       root      358: VL_OBJS+= fdc.o mc146818rtc.o serial.o m48t59.o
                    359: VL_OBJS+= cirrus_vga.o parallel.o
                    360: else
1.1.1.3   root      361: VL_OBJS+= sun4m.o tcx.o lance.o iommu.o m48t59.o slavio_intctl.o
1.1.1.2   root      362: VL_OBJS+= slavio_timer.o slavio_serial.o slavio_misc.o fdc.o esp.o
                    363: endif
1.1       root      364: endif
1.1.1.2   root      365: ifeq ($(TARGET_BASE_ARCH), arm)
1.1.1.3   root      366: VL_OBJS+= integratorcp.o versatilepb.o ps2.o smc91c111.o arm_pic.o arm_timer.o
                    367: VL_OBJS+= arm_boot.o pl011.o pl050.o pl080.o pl110.o pl190.o
1.1.1.4 ! root      368: VL_OBJS+= versatile_pci.o
1.1.1.3   root      369: endif
                    370: ifeq ($(TARGET_BASE_ARCH), sh4)
                    371: VL_OBJS+= shix.o sh7750.o sh7750_regnames.o tc58128.o
1.1       root      372: endif
                    373: ifdef CONFIG_GDBSTUB
                    374: VL_OBJS+=gdbstub.o 
                    375: endif
                    376: ifdef CONFIG_SDL
                    377: VL_OBJS+=sdl.o
                    378: endif
1.1.1.3   root      379: VL_OBJS+=vnc.o
1.1       root      380: ifdef CONFIG_COCOA
                    381: VL_OBJS+=cocoa.o
1.1.1.2   root      382: COCOA_LIBS=-F/System/Library/Frameworks -framework Cocoa -framework IOKit
                    383: ifdef CONFIG_COREAUDIO
                    384: COCOA_LIBS+=-framework CoreAudio
                    385: endif
1.1       root      386: endif
                    387: ifdef CONFIG_SLIRP
                    388: DEFINES+=-I$(SRC_PATH)/slirp
                    389: SLIRP_OBJS=cksum.o if.o ip_icmp.o ip_input.o ip_output.o \
                    390: slirp.o mbuf.o misc.o sbuf.o socket.o tcp_input.o tcp_output.o \
                    391: tcp_subr.o tcp_timer.o udp.o bootp.o debug.o tftp.o
                    392: VL_OBJS+=$(addprefix slirp/, $(SLIRP_OBJS))
                    393: endif
                    394: 
                    395: VL_LDFLAGS=
                    396: # specific flags are needed for non soft mmu emulator
                    397: ifdef CONFIG_STATIC
                    398: VL_LDFLAGS+=-static
                    399: endif
                    400: ifndef CONFIG_SOFTMMU
                    401: VL_LDFLAGS+=-Wl,-T,$(SRC_PATH)/i386-vl.ld 
                    402: endif
                    403: ifndef CONFIG_DARWIN
                    404: ifndef CONFIG_WIN32
1.1.1.3   root      405: ifndef CONFIG_SOLARIS
1.1.1.4 ! root      406: VL_LIBS=-lutil -lrt
1.1       root      407: endif
                    408: endif
1.1.1.3   root      409: endif
1.1       root      410: ifdef TARGET_GPROF
                    411: vl.o: CFLAGS+=-p
                    412: VL_LDFLAGS+=-p
                    413: endif
                    414: 
                    415: ifeq ($(ARCH),ia64)
                    416: VL_LDFLAGS+=-Wl,-G0 -Wl,-T,$(SRC_PATH)/ia64.ld
                    417: endif
                    418: 
1.1.1.4 ! root      419: ifeq ($(ARCH),sparc64)
        !           420: VL_LDFLAGS+=-m64
        !           421: VL_LDFLAGS+=-Wl,-T,$(SRC_PATH)/sparc64.ld
        !           422: endif
        !           423: 
1.1.1.2   root      424: ifdef CONFIG_WIN32
                    425: SDL_LIBS := $(filter-out -mwindows, $(SDL_LIBS)) -mconsole
                    426: endif
                    427: 
1.1       root      428: $(QEMU_SYSTEM): $(VL_OBJS) libqemu.a
                    429:        $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS)
                    430: 
                    431: cocoa.o: cocoa.m
                    432:        $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
                    433: 
                    434: sdl.o: sdl.c keymaps.c sdl_keysym.h
                    435:        $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
                    436: 
1.1.1.3   root      437: vnc.o: vnc.c keymaps.c sdl_keysym.h vnchextile.h
                    438:        $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
                    439: 
1.1       root      440: sdlaudio.o: sdlaudio.c
                    441:        $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
                    442: 
                    443: depend: $(SRCS)
                    444:        $(CC) -MM $(CFLAGS) $(DEFINES) $^ 1>.depend
                    445: 
1.1.1.2   root      446: vldepend: $(VL_OBJS:.o=.c)
                    447:        $(CC) -MM $(CFLAGS) $(DEFINES) $^ 1>.depend
                    448: 
1.1       root      449: # libqemu 
                    450: 
                    451: libqemu.a: $(LIBOBJS)
                    452:        rm -f $@
                    453:        $(AR) rcs $@ $(LIBOBJS)
                    454: 
                    455: translate.o: translate.c gen-op.h opc.h cpu.h
                    456: 
                    457: translate-all.o: translate-all.c opc.h cpu.h
                    458: 
                    459: translate-op.o: translate-all.c op.h opc.h cpu.h
                    460: 
                    461: op.h: op.o $(DYNGEN)
                    462:        $(DYNGEN) -o $@ $<
                    463: 
                    464: opc.h: op.o $(DYNGEN)
                    465:        $(DYNGEN) -c -o $@ $<
                    466: 
                    467: gen-op.h: op.o $(DYNGEN)
                    468:        $(DYNGEN) -g -o $@ $<
                    469: 
                    470: op.o: op.c
                    471:        $(CC) $(OP_CFLAGS) $(DEFINES) -c -o $@ $<
                    472: 
                    473: helper.o: helper.c
                    474:        $(CC) $(HELPER_CFLAGS) $(DEFINES) -c -o $@ $<
                    475: 
                    476: ifeq ($(TARGET_BASE_ARCH), i386)
                    477: op.o: op.c opreg_template.h ops_template.h ops_template_mem.h ops_mem.h ops_sse.h
                    478: endif
                    479: 
                    480: ifeq ($(TARGET_ARCH), arm)
                    481: op.o: op.c op_template.h
1.1.1.3   root      482: pl110.o: pl110_template.h
1.1       root      483: endif
                    484: 
                    485: ifeq ($(TARGET_BASE_ARCH), sparc)
                    486: op.o: op.c op_template.h op_mem.h fop_template.h fbranch_template.h
                    487: magic_load.o: elf_op.h
                    488: endif
                    489: 
                    490: ifeq ($(TARGET_BASE_ARCH), ppc)
                    491: op.o: op.c op_template.h op_mem.h
                    492: op_helper.o: op_helper_mem.h
                    493: translate.o: translate.c translate_init.c
                    494: endif
                    495: 
                    496: ifeq ($(TARGET_ARCH), mips)
                    497: op.o: op.c op_template.c op_mem.c
                    498: op_helper.o: op_helper_mem.c
                    499: endif
                    500: 
1.1.1.3   root      501: loader.o: loader.c elf_ops.h
                    502: 
1.1.1.4 ! root      503: acpi.o: acpi.c acpi-dsdt.hex
        !           504: 
        !           505: ifdef BUILD_ACPI_TABLES
        !           506: $(SRC_PATH)/hw/acpi-dsdt.hex: acpi-dsdt.dsl
        !           507:        iasl -tc -p $@ $<
        !           508: endif
        !           509: 
1.1.1.3   root      510: ifeq ($(TARGET_ARCH), sh4)
                    511: op.o: op.c op_mem.c cpu.h
                    512: op_helper.o: op_helper.c exec.h cpu.h
                    513: helper.o: helper.c exec.h cpu.h
                    514: sh7750.o: sh7750.c sh7750_regs.h sh7750_regnames.h cpu.h
                    515: shix.o: shix.c sh7750_regs.h sh7750_regnames.h
                    516: sh7750_regnames.o: sh7750_regnames.c sh7750_regnames.h sh7750_regs.h
                    517: tc58128.o: tc58128.c
                    518: endif
                    519: 
1.1.1.4 ! root      520: $(OBJS) $(LIBOBJS) $(VL_OBJS): config.h ../config-host.h
        !           521: 
1.1       root      522: %.o: %.c
                    523:        $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
                    524: 
                    525: %.o: %.S
                    526:        $(CC) $(DEFINES) -c -o $@ $<
                    527: 
                    528: clean:
                    529:        rm -f *.o  *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe/*.o slirp/*.o fpu/*.o
                    530: 
                    531: install: all 
                    532: ifneq ($(PROGS),)
1.1.1.3   root      533:        $(INSTALL) -m 755 -s $(PROGS) "$(DESTDIR)$(bindir)"
1.1       root      534: endif
                    535: 
                    536: ifneq ($(wildcard .depend),)
                    537: include .depend
                    538: endif
1.1.1.2   root      539: 
                    540: ifeq (1, 0)
                    541: audio.o sdlaudio.o dsoundaudio.o ossaudio.o wavaudio.o noaudio.o \
                    542: fmodaudio.o alsaaudio.o mixeng.o sb16.o es1370.o gus.o adlib.o: \
                    543: CFLAGS := $(CFLAGS) -Wall -Werror -W -Wsign-compare
                    544: endif

unix.superglobalmegacorp.com