Statistics
| Branch: | Revision:

root / Makefile @ d1d9f421

History | View | Annotate | Download (2.8 kB)

1 626df76a bellard
include config-host.mak
2 766a487a bellard
3 7d13299d bellard
CFLAGS=-Wall -O2 -g
4 83fb7adf bellard
ifdef CONFIG_DARWIN
5 83fb7adf bellard
CFLAGS+= -mdynamic-no-pic
6 83fb7adf bellard
endif
7 67b915a5 bellard
ifdef CONFIG_WIN32
8 67b915a5 bellard
CFLAGS+=-fpack-struct 
9 67b915a5 bellard
endif
10 31e31b8a bellard
LDFLAGS=-g
11 766a487a bellard
LIBS=
12 0ecfa993 bellard
DEFINES+=-D_GNU_SOURCE
13 67b915a5 bellard
ifndef CONFIG_WIN32
14 47cea614 bellard
TOOLS=qemu-mkcow vmdk2raw
15 67b915a5 bellard
endif
16 1f50f8d1 bellard
ifdef CONFIG_STATIC
17 1f50f8d1 bellard
LDFLAGS+=-static
18 1f50f8d1 bellard
endif
19 aa05ae6f bellard
20 1f673135 bellard
all: dyngen$(EXESUF) $(TOOLS) qemu-doc.html qemu-tech.html qemu.1
21 626df76a bellard
	for d in $(TARGET_DIRS); do \
22 7d3505c5 bellard
	$(MAKE) -C $$d $@ || exit 1 ; \
23 626df76a bellard
        done
24 33e3963e bellard
25 11d9f695 bellard
qemu-mkcow: qemu-mkcow.c
26 1f50f8d1 bellard
	$(CC) $(CFLAGS) $(LDFLAGS) $(DEFINES) -o $@ $^ $(LIBS)
27 de83cd02 bellard
28 47cea614 bellard
vmdk2raw: vmdk2raw.c
29 47cea614 bellard
	$(CC) $(CFLAGS) $(LDFLAGS) $(DEFINES) -o $@ $^ $(LIBS)
30 47cea614 bellard
31 11d9f695 bellard
dyngen$(EXESUF): dyngen.c
32 11d9f695 bellard
	$(HOST_CC) $(CFLAGS) $(DEFINES) -o $@ $^
33 31e31b8a bellard
34 31e31b8a bellard
clean:
35 2d80ae89 bellard
# avoid old build problems by removing potentially incorrect old files
36 2d80ae89 bellard
	rm -f config.mak config.h op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h 
37 67b915a5 bellard
	rm -f *.o *.a $(TOOLS) dyngen$(EXESUF) TAGS qemu.pod
38 7d3505c5 bellard
	$(MAKE) -C tests clean
39 626df76a bellard
	for d in $(TARGET_DIRS); do \
40 7d3505c5 bellard
	$(MAKE) -C $$d $@ || exit 1 ; \
41 626df76a bellard
        done
42 31e31b8a bellard
43 7d13299d bellard
distclean: clean
44 2d80ae89 bellard
	rm -f config-host.mak config-host.h
45 76bc6838 bellard
	for d in $(TARGET_DIRS); do \
46 bc1b050d bellard
	rm -rf $$d || exit 1 ; \
47 76bc6838 bellard
        done
48 7d13299d bellard
49 626df76a bellard
install: all 
50 11d9f695 bellard
	mkdir -p "$(bindir)"
51 11d9f695 bellard
ifndef CONFIG_WIN32
52 11d9f695 bellard
	install -m 755 -s $(TOOLS) "$(bindir)"
53 11d9f695 bellard
endif
54 7efa4387 bellard
	mkdir -p "$(datadir)"
55 a735aa31 bellard
	install -m 644 pc-bios/bios.bin pc-bios/vgabios.bin \
56 de9258a8 bellard
                       pc-bios/vgabios-cirrus.bin \
57 637f6cd7 bellard
                       pc-bios/ppc_rom.bin \
58 7efa4387 bellard
                       pc-bios/linux_boot.bin "$(datadir)"
59 1f50f8d1 bellard
	mkdir -p "$(docdir)"
60 1f50f8d1 bellard
	install -m 644 qemu-doc.html  qemu-tech.html "$(docdir)"
61 11d9f695 bellard
ifndef CONFIG_WIN32
62 11d9f695 bellard
	mkdir -p "$(mandir)/man1"
63 11d9f695 bellard
	install qemu.1 qemu-mkcow.1 "$(mandir)/man1"
64 11d9f695 bellard
endif
65 626df76a bellard
	for d in $(TARGET_DIRS); do \
66 7d3505c5 bellard
	$(MAKE) -C $$d $@ || exit 1 ; \
67 626df76a bellard
        done
68 612384d7 bellard
69 367e86e8 bellard
# various test targets
70 82c7e2a4 bellard
test speed test2: all
71 7d3505c5 bellard
	$(MAKE) -C tests $@
72 31e31b8a bellard
73 367e86e8 bellard
TAGS: 
74 b9adb4a6 bellard
	etags *.[ch] tests/*.[ch]
75 31e31b8a bellard
76 3ef693a0 bellard
# documentation
77 1f673135 bellard
%.html: %.texi
78 3ef693a0 bellard
	texi2html -monolithic -number $<
79 3ef693a0 bellard
80 5a67135a bellard
qemu.1: qemu-doc.texi
81 5a67135a bellard
	./texi2pod.pl $< qemu.pod
82 5a67135a bellard
	pod2man --section=1 --center=" " --release=" " qemu.pod > $@
83 5a67135a bellard
84 1e43adfc bellard
FILE=qemu-$(shell cat VERSION)
85 586314f2 bellard
86 1e43adfc bellard
# tar release (use 'make -k tar' on a checkouted tree)
87 586314f2 bellard
tar:
88 586314f2 bellard
	rm -rf /tmp/$(FILE)
89 1e43adfc bellard
	cp -r . /tmp/$(FILE)
90 76b62fd0 bellard
	( cd /tmp ; tar zcvf ~/$(FILE).tar.gz $(FILE) --exclude CVS )
91 586314f2 bellard
	rm -rf /tmp/$(FILE)
92 586314f2 bellard
93 76b62fd0 bellard
# generate a binary distribution
94 d691f669 bellard
tarbin:
95 76b62fd0 bellard
	( cd / ; tar zcvf ~/qemu-$(VERSION)-i386.tar.gz \
96 7efa4387 bellard
	$(bindir)/qemu $(bindir)/qemu-fast \
97 7efa4387 bellard
	$(bindir)/qemu-system-ppc \
98 7efa4387 bellard
	$(bindir)/qemu-i386 \
99 7efa4387 bellard
        $(bindir)/qemu-arm \
100 7efa4387 bellard
        $(bindir)/qemu-sparc \
101 7efa4387 bellard
        $(bindir)/qemu-ppc \
102 47cea614 bellard
        $(bindir)/qemu-mkcow $(bindir)/vmdk2raw \
103 7efa4387 bellard
	$(datadir)/bios.bin \
104 7efa4387 bellard
	$(datadir)/vgabios.bin \
105 de9258a8 bellard
	$(datadir)/vgabios-cirrus.bin \
106 637f6cd7 bellard
	$(datadir)/ppc_rom.bin \
107 7efa4387 bellard
	$(datadir)/linux_boot.bin \
108 1f50f8d1 bellard
	$(docdir)/qemu-doc.html \
109 1f50f8d1 bellard
	$(docdir)/qemu-tech.html \
110 1f50f8d1 bellard
	$(mandir)/man1/qemu.1 $(mandir)/man1/qemu-mkcow.1 )
111 d691f669 bellard
112 31e31b8a bellard
ifneq ($(wildcard .depend),)
113 31e31b8a bellard
include .depend
114 31e31b8a bellard
endif