Statistics
| Branch: | Revision:

root / Makefile.target @ 00a67ba1

History | View | Annotate | Download (13.2 kB)

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
15
DEFINES=-I. -I.. -I$(TARGET_PATH) -I$(SRC_PATH)
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
27
TARGET_ARCH2=$(TARGET_ARCH)
28
ifeq ($(TARGET_ARCH),arm)
29
  ifeq ($(TARGET_WORDS_BIGENDIAN),yes)
30
    TARGET_ARCH2=armeb
31
  endif
32
endif
33
ifeq ($(TARGET_ARCH),sh4)
34
  ifeq ($(TARGET_WORDS_BIGENDIAN),yes)
35
    TARGET_ARCH2=sh4eb
36
  endif
37
endif
38
ifeq ($(TARGET_ARCH),mips)
39
  ifneq ($(TARGET_WORDS_BIGENDIAN),yes)
40
    TARGET_ARCH2=mipsel
41
  endif
42
endif
43
QEMU_USER=qemu-$(TARGET_ARCH2)
44
# system emulator name
45
ifdef CONFIG_SOFTMMU
46
ifeq ($(TARGET_ARCH), i386)
47
QEMU_SYSTEM=qemu$(EXESUF)
48
else
49
QEMU_SYSTEM=qemu-system-$(TARGET_ARCH2)$(EXESUF)
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
HELPER_CFLAGS:=$(CFLAGS) -fomit-frame-pointer
70
OP_CFLAGS:=$(CFLAGS) -mpreferred-stack-boundary=2 -fomit-frame-pointer
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)
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
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
122
endif
123

    
124
ifeq ($(ARCH),sparc64)
125
CFLAGS+=-mcpu=ultrasparc -m64 -ffixed-g1 -ffixed-g4 -ffixed-g5 -ffixed-g7
126
LDFLAGS+=-m64
127
LDFLAGS+=-Wl,-T,$(SRC_PATH)/sparc64.ld
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
176
ifdef CONFIG_SOLARIS
177
LIBS+=-lsocket -lnsl -lresolv
178
endif
179

    
180
# profiling code
181
ifdef TARGET_GPROF
182
LDFLAGS+=-p
183
main.o: CFLAGS+=-p
184
endif
185

    
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

    
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
ifeq ($(TARGET_ARCH), m68k)
201
OBJS+= m68k-sim.o m68k-semi.o
202
endif
203
SRCS:= $(OBJS:.o=.c)
204
OBJS+= libqemu.a
205

    
206
# cpu emulator library
207
LIBOBJS=exec.o kqemu.o translate-op.o translate-all.o cpu-exec.o\
208
        translate.o op.o 
209
ifdef CONFIG_SOFTFLOAT
210
LIBOBJS+=fpu/softfloat.o
211
else
212
LIBOBJS+=fpu/softfloat-native.o
213
endif
214
DEFINES+=-I$(SRC_PATH)/fpu
215

    
216
ifeq ($(TARGET_ARCH), i386)
217
LIBOBJS+=helper.o helper2.o
218
ifeq ($(ARCH), i386)
219
LIBOBJS+=translate-copy.o
220
endif
221
endif
222

    
223
ifeq ($(TARGET_ARCH), x86_64)
224
LIBOBJS+=helper.o helper2.o
225
endif
226

    
227
ifeq ($(TARGET_BASE_ARCH), ppc)
228
LIBOBJS+= op_helper.o helper.o
229
endif
230

    
231
ifeq ($(TARGET_ARCH), mips)
232
LIBOBJS+= op_helper.o helper.o
233
endif
234

    
235
ifeq ($(TARGET_BASE_ARCH), sparc)
236
LIBOBJS+= op_helper.o helper.o
237
endif
238

    
239
ifeq ($(TARGET_BASE_ARCH), arm)
240
LIBOBJS+= op_helper.o helper.o
241
endif
242

    
243
ifeq ($(TARGET_BASE_ARCH), sh4)
244
LIBOBJS+= op_helper.o helper.o
245
endif
246

    
247
ifeq ($(TARGET_BASE_ARCH), m68k)
248
LIBOBJS+= helper.o
249
endif
250

    
251
# NOTE: the disassembler code is only needed for debugging
252
LIBOBJS+=disas.o 
253
ifeq ($(findstring i386, $(TARGET_ARCH) $(ARCH)),i386)
254
USE_I386_DIS=y
255
endif
256
ifeq ($(findstring x86_64, $(TARGET_ARCH) $(ARCH)),x86_64)
257
USE_I386_DIS=y
258
endif
259
ifdef USE_I386_DIS
260
LIBOBJS+=i386-dis.o
261
endif
262
ifeq ($(findstring alpha, $(TARGET_ARCH) $(ARCH)),alpha)
263
LIBOBJS+=alpha-dis.o
264
endif
265
ifeq ($(findstring ppc, $(TARGET_BASE_ARCH) $(ARCH)),ppc)
266
LIBOBJS+=ppc-dis.o
267
endif
268
ifeq ($(findstring mips, $(TARGET_ARCH) $(ARCH)),mips)
269
LIBOBJS+=mips-dis.o
270
endif
271
ifeq ($(findstring sparc, $(TARGET_BASE_ARCH) $(ARCH)),sparc)
272
LIBOBJS+=sparc-dis.o
273
endif
274
ifeq ($(findstring arm, $(TARGET_ARCH) $(ARCH)),arm)
275
LIBOBJS+=arm-dis.o
276
endif
277
ifeq ($(findstring m68k, $(TARGET_ARCH) $(ARCH)),m68k)
278
LIBOBJS+=m68k-dis.o
279
endif
280
ifeq ($(findstring sh4, $(TARGET_ARCH) $(ARCH)),sh4)
281
LIBOBJS+=sh4-dis.o
282
endif
283

    
284
ifdef CONFIG_GDBSTUB
285
OBJS+=gdbstub.o
286
endif
287

    
288
all: $(PROGS)
289

    
290
$(QEMU_USER): $(OBJS)
291
	$(CC) $(LDFLAGS) -o $@ $^  $(LIBS)
292
ifeq ($(ARCH),alpha)
293
# Mark as 32 bit binary, i. e. it will be mapped into the low 31 bit of
294
# the address space (31 bit so sign extending doesn't matter)
295
	echo -ne '\001\000\000\000' | dd of=qemu bs=1 seek=48 count=4 conv=notrunc
296
endif
297

    
298
# must use static linking to avoid leaving stuff in virtual address space
299
VL_OBJS=vl.o osdep.o readline.o monitor.o pci.o console.o loader.o isa_mmio.o
300
VL_OBJS+=block.o block-raw.o
301
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 block-qcow2.o
302
ifdef CONFIG_WIN32
303
VL_OBJS+=tap-win32.o
304
endif
305

    
306
SOUND_HW = sb16.o es1370.o
307
AUDIODRV = audio.o noaudio.o wavaudio.o
308
ifdef CONFIG_SDL
309
AUDIODRV += sdlaudio.o
310
endif
311
ifdef CONFIG_OSS
312
AUDIODRV += ossaudio.o
313
endif
314
ifdef CONFIG_COREAUDIO
315
AUDIODRV += coreaudio.o
316
endif
317
ifdef CONFIG_ALSA
318
AUDIODRV += alsaaudio.o
319
LIBS += -lasound
320
endif
321
ifdef CONFIG_DSOUND
322
AUDIODRV += dsoundaudio.o
323
LIBS += -lole32 -ldxguid
324
endif
325
ifdef CONFIG_FMOD
326
AUDIODRV += fmodaudio.o
327
audio.o fmodaudio.o: DEFINES := -I$(CONFIG_FMOD_INC) $(DEFINES)
328
LIBS += $(CONFIG_FMOD_LIB)
329
endif
330
ifdef CONFIG_ADLIB
331
SOUND_HW += fmopl.o adlib.o
332
endif
333
AUDIODRV+= wavcapture.o
334

    
335
# SCSI layer
336
VL_OBJS+= scsi-disk.o cdrom.o lsi53c895a.o
337

    
338
# USB layer
339
VL_OBJS+= usb.o usb-hub.o usb-linux.o usb-hid.o usb-ohci.o usb-msd.o
340

    
341
# PCI network cards
342
VL_OBJS+= ne2000.o rtl8139.o pcnet.o
343

    
344
ifeq ($(TARGET_BASE_ARCH), i386)
345
# Hardware support
346
VL_OBJS+= ide.o pckbd.o ps2.o vga.o $(SOUND_HW) dma.o $(AUDIODRV)
347
VL_OBJS+= fdc.o mc146818rtc.o serial.o i8259.o i8254.o pcspk.o pc.o
348
VL_OBJS+= cirrus_vga.o mixeng.o apic.o parallel.o acpi.o piix_pci.o
349
VL_OBJS+= usb-uhci.o
350
DEFINES += -DHAS_AUDIO
351
endif
352
ifeq ($(TARGET_BASE_ARCH), ppc)
353
VL_OBJS+= ppc.o ide.o pckbd.o ps2.o vga.o $(SOUND_HW) dma.o $(AUDIODRV)
354
VL_OBJS+= mc146818rtc.o serial.o i8259.o i8254.o fdc.o m48t59.o
355
VL_OBJS+= ppc_prep.o ppc_chrp.o cuda.o adb.o openpic.o heathrow_pic.o mixeng.o
356
VL_OBJS+= grackle_pci.o prep_pci.o unin_pci.o
357
DEFINES += -DHAS_AUDIO
358
endif
359
ifeq ($(TARGET_ARCH), mips)
360
VL_OBJS+= mips_r4k.o dma.o vga.o serial.o i8254.o i8259.o
361
#VL_OBJS+= #ide.o pckbd.o fdc.o m48t59.o
362
endif
363
ifeq ($(TARGET_BASE_ARCH), sparc)
364
ifeq ($(TARGET_ARCH), sparc64)
365
VL_OBJS+= sun4u.o ide.o pckbd.o ps2.o vga.o apb_pci.o
366
VL_OBJS+= fdc.o mc146818rtc.o serial.o m48t59.o
367
VL_OBJS+= cirrus_vga.o parallel.o
368
else
369
VL_OBJS+= sun4m.o tcx.o pcnet.o iommu.o m48t59.o slavio_intctl.o
370
VL_OBJS+= slavio_timer.o slavio_serial.o slavio_misc.o fdc.o esp.o sparc32_dma.o
371
VL_OBJS+= cs4231.o
372
endif
373
endif
374
ifeq ($(TARGET_BASE_ARCH), arm)
375
VL_OBJS+= integratorcp.o versatilepb.o ps2.o smc91c111.o arm_pic.o arm_timer.o
376
VL_OBJS+= arm_boot.o pl011.o pl050.o pl080.o pl110.o pl190.o
377
VL_OBJS+= versatile_pci.o
378
VL_OBJS+= arm_gic.o realview.o arm_sysctl.o
379
endif
380
ifeq ($(TARGET_BASE_ARCH), sh4)
381
VL_OBJS+= shix.o sh7750.o sh7750_regnames.o tc58128.o
382
endif
383
ifdef CONFIG_GDBSTUB
384
VL_OBJS+=gdbstub.o 
385
endif
386
ifdef CONFIG_SDL
387
VL_OBJS+=sdl.o
388
endif
389
VL_OBJS+=vnc.o
390
ifdef CONFIG_COCOA
391
VL_OBJS+=cocoa.o
392
COCOA_LIBS=-F/System/Library/Frameworks -framework Cocoa -framework IOKit
393
ifdef CONFIG_COREAUDIO
394
COCOA_LIBS+=-framework CoreAudio
395
endif
396
endif
397
ifdef CONFIG_SLIRP
398
DEFINES+=-I$(SRC_PATH)/slirp
399
SLIRP_OBJS=cksum.o if.o ip_icmp.o ip_input.o ip_output.o \
400
slirp.o mbuf.o misc.o sbuf.o socket.o tcp_input.o tcp_output.o \
401
tcp_subr.o tcp_timer.o udp.o bootp.o debug.o tftp.o
402
VL_OBJS+=$(addprefix slirp/, $(SLIRP_OBJS))
403
endif
404

    
405
VL_LDFLAGS=
406
# specific flags are needed for non soft mmu emulator
407
ifdef CONFIG_STATIC
408
VL_LDFLAGS+=-static
409
endif
410
ifndef CONFIG_SOFTMMU
411
VL_LDFLAGS+=-Wl,-T,$(SRC_PATH)/i386-vl.ld 
412
endif
413
ifndef CONFIG_DARWIN
414
ifndef CONFIG_WIN32
415
ifndef CONFIG_SOLARIS
416
VL_LIBS=-lutil -lrt
417
endif
418
endif
419
endif
420
ifdef TARGET_GPROF
421
vl.o: CFLAGS+=-p
422
VL_LDFLAGS+=-p
423
endif
424

    
425
ifeq ($(ARCH),ia64)
426
VL_LDFLAGS+=-Wl,-G0 -Wl,-T,$(SRC_PATH)/ia64.ld
427
endif
428

    
429
ifeq ($(ARCH),sparc64)
430
VL_LDFLAGS+=-m64
431
VL_LDFLAGS+=-Wl,-T,$(SRC_PATH)/sparc64.ld
432
endif
433

    
434
ifdef CONFIG_WIN32
435
SDL_LIBS := $(filter-out -mwindows, $(SDL_LIBS)) -mconsole
436
endif
437

    
438
$(QEMU_SYSTEM): $(VL_OBJS) libqemu.a
439
	$(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS)
440

    
441
cocoa.o: cocoa.m
442
	$(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
443

    
444
sdl.o: sdl.c keymaps.c sdl_keysym.h
445
	$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
446

    
447
vnc.o: vnc.c keymaps.c sdl_keysym.h vnchextile.h
448
	$(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
449

    
450
sdlaudio.o: sdlaudio.c
451
	$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
452

    
453
depend: $(SRCS)
454
	$(CC) -MM $(CFLAGS) $(DEFINES) $^ 1>.depend
455

    
456
vldepend: $(VL_OBJS:.o=.c)
457
	$(CC) -MM $(CFLAGS) $(DEFINES) $^ 1>.depend
458

    
459
# libqemu 
460

    
461
libqemu.a: $(LIBOBJS)
462
	rm -f $@
463
	$(AR) rcs $@ $(LIBOBJS)
464

    
465
translate.o: translate.c gen-op.h opc.h cpu.h
466

    
467
translate-all.o: translate-all.c opc.h cpu.h
468

    
469
translate-op.o: translate-all.c op.h opc.h cpu.h
470

    
471
op.h: op.o $(DYNGEN)
472
	$(DYNGEN) -o $@ $<
473

    
474
opc.h: op.o $(DYNGEN)
475
	$(DYNGEN) -c -o $@ $<
476

    
477
gen-op.h: op.o $(DYNGEN)
478
	$(DYNGEN) -g -o $@ $<
479

    
480
op.o: op.c
481
	$(CC) $(OP_CFLAGS) $(DEFINES) -c -o $@ $<
482

    
483
# HELPER_CFLAGS is used for all the code compiled with static register
484
# variables
485
ifeq ($(TARGET_BASE_ARCH), i386)
486
# XXX: rename helper.c to op_helper.c
487
helper.o: helper.c
488
	$(CC) $(HELPER_CFLAGS) $(DEFINES) -c -o $@ $<
489
else
490
op_helper.o: op_helper.c
491
	$(CC) $(HELPER_CFLAGS) $(DEFINES) -c -o $@ $<
492
endif
493

    
494
cpu-exec.o: cpu-exec.c
495
	$(CC) $(HELPER_CFLAGS) $(DEFINES) -c -o $@ $<
496

    
497
# Note: this is a workaround. The real fix is to avoid compiling
498
# cpu_signal_handler() in cpu-exec.c.
499
signal.o: signal.c
500
	$(CC) $(HELPER_CFLAGS) $(DEFINES) -c -o $@ $<
501

    
502
ifeq ($(TARGET_BASE_ARCH), i386)
503
op.o: op.c opreg_template.h ops_template.h ops_template_mem.h ops_mem.h ops_sse.h
504
endif
505

    
506
ifeq ($(TARGET_ARCH), arm)
507
op.o: op.c op_template.h
508
pl110.o: pl110_template.h
509
endif
510

    
511
ifeq ($(TARGET_BASE_ARCH), sparc)
512
op.o: op.c op_template.h op_mem.h fop_template.h fbranch_template.h
513
magic_load.o: elf_op.h
514
endif
515

    
516
ifeq ($(TARGET_BASE_ARCH), ppc)
517
op.o: op.c op_template.h op_mem.h
518
op_helper.o: op_helper_mem.h
519
translate.o: translate.c translate_init.c
520
endif
521

    
522
ifeq ($(TARGET_ARCH), mips)
523
op.o: op.c op_template.c op_mem.c
524
op_helper.o: op_helper_mem.c
525
endif
526

    
527
loader.o: loader.c elf_ops.h
528

    
529
ifeq ($(TARGET_ARCH), sh4)
530
op.o: op.c op_mem.c cpu.h
531
op_helper.o: op_helper.c exec.h cpu.h
532
helper.o: helper.c exec.h cpu.h
533
sh7750.o: sh7750.c sh7750_regs.h sh7750_regnames.h cpu.h
534
shix.o: shix.c sh7750_regs.h sh7750_regnames.h
535
sh7750_regnames.o: sh7750_regnames.c sh7750_regnames.h sh7750_regs.h
536
tc58128.o: tc58128.c
537
endif
538

    
539
$(OBJS) $(LIBOBJS) $(VL_OBJS): config.h ../config-host.h
540

    
541
%.o: %.c
542
	$(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
543

    
544
%.o: %.S
545
	$(CC) $(DEFINES) -c -o $@ $<
546

    
547
clean:
548
	rm -f *.o  *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe/*.o slirp/*.o fpu/*.o
549

    
550
install: all 
551
ifneq ($(PROGS),)
552
	$(INSTALL) -m 755 -s $(PROGS) "$(DESTDIR)$(bindir)"
553
endif
554

    
555
ifneq ($(wildcard .depend),)
556
include .depend
557
endif
558

    
559
ifeq (1, 0)
560
audio.o sdlaudio.o dsoundaudio.o ossaudio.o wavaudio.o noaudio.o \
561
fmodaudio.o alsaaudio.o mixeng.o sb16.o es1370.o gus.o adlib.o: \
562
CFLAGS := $(CFLAGS) -Wall -Werror -W -Wsign-compare
563
endif