aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ioemu/Makefile
blob: 502413fc8a49a2d71c508256d6f818fde68b9b3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
-include config-host.mak

CFLAGS=-Wall -O2 -g -fno-strict-aliasing 
ifdef CONFIG_DARWIN
CFLAGS+= -mdynamic-no-pic
endif
ifdef CONFIG_WIN32
CFLAGS+=-fpack-struct 
endif
LDFLAGS=-g
LIBS=
DEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
TOOLS=qemu-img
ifdef CONFIG_STATIC
LDFLAGS+=-static
endif
#DOCS=qemu-doc.html qemu-tech.html qemu.1

all: $(DOCS) HEADERS
	for d in $(TARGET_DIRS); do \
	$(MAKE) -C $$d $@ || exit 1 ; \
        done

qemu-img: qemu-img.c block.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c
	$(CC) -DQEMU_TOOL $(CFLAGS) $(LDFLAGS) $(DEFINES) -o $@ $^ -lz $(LIBS)

dyngen$(EXESUF): dyngen.c
	$(HOST_CC) $(CFLAGS) $(DEFINES) -o $@ $^

clean:
# avoid old build problems by removing potentially incorrect old files
	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 
	rm -f *.o *.a $(TOOLS) dyngen$(EXESUF) TAGS qemu.pod *~ */*~
	#$(MAKE) -C tests clean
	for d in $(TARGET_DIRS); do \
	$(MAKE) -C $$d $@ || exit 1 ; \
        done
	rm -f config-host.mak config-host.h
	rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h

distclean: clean
	rm -f config-host.mak config-host.h
	rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
	for d in $(TARGET_DIRS); do \
	$(MAKE) -C $$d $@ || exit 1 ; \
        done

KEYMAPS=da     en-gb  et  fr     fr-ch  is  lt  modifiers  no  pt-br  sv \
ar      de     en-us  fi  fr-be  hr     it  lv  nl         pl  ru     th \
common  de-ch  es     fo  fr-ca  hu     ja  mk  nl-be      pt  sl     tr

install: all 
	mkdir -p "$(bindir)"
ifndef CONFIG_WIN32
#	install -m 755 -s $(TOOLS) "$(bindir)"
endif
	mkdir -p "$(DESTDIR)/$(datadir)"
	install -m 644 pc-bios/bios.bin pc-bios/vgabios.bin \
                       pc-bios/vgabios-cirrus.bin \
                       pc-bios/ppc_rom.bin \
                       pc-bios/proll.bin \
                       pc-bios/linux_boot.bin "$(DESTDIR)/$(datadir)"
	#mkdir -p "$(DESTDIR)/$(docdir)"
	#install -m 644 qemu-doc.html  qemu-tech.html "$(DESTDIR)/$(docdir)"
ifndef CONFIG_WIN32
	#mkdir -p "$(DESTDIR)/$(mandir)/man1"
	#install qemu.1 qemu-mkcow.1 "$(DESTDIR)/$(mandir)/man1"
	mkdir -p "$(DESTDIR)/$(datadir)/keymaps"
	install -m 644 $(addprefix keymaps/,$(KEYMAPS)) "$(DESTDIR)/$(datadir)/keymaps"
endif
	for d in $(TARGET_DIRS); do \
	$(MAKE) -C $$d $@ || exit 1 ; \
        done

# various test targets
test speed test2: all
	$(MAKE) -C tests $@

TAGS: 
	etags *.[ch] tests/*.[ch]

# documentation
%.html: %.texi
	texi2html -monolithic -number $<

qemu.1: qemu-doc.texi
	./texi2pod.pl $< qemu.pod
	pod2man --section=1 --center=" " --release=" " qemu.pod > $@

FILE=qemu-$(shell cat VERSION)

# tar release (use 'make -k tar' on a checkouted tree)
tar:
	rm -rf /tmp/$(FILE)
	cp -r . /tmp/$(FILE)
	( cd /tmp ; tar zcvf ~/$(FILE).tar.gz $(FILE) --exclude CVS )
	rm -rf /tmp/$(FILE)

# generate a binary distribution
tarbin:
	( cd $(DESTDIR) ; tar zcvf ~/qemu-$(VERSION)-i386.tar.gz \
	$(DESTDIR)/$(bindir)/qemu $(DESTDIR)/$(bindir)/qemu-fast \
	$(DESTDIR)/$(bindir)/qemu-system-ppc \
	$(DESTDIR)/$(bindir)/qemu-i386 \
        $(DESTDIR)/$(bindir)/qemu-arm \
        $(DESTDIR)/$(bindir)/qemu-sparc \
        $(DESTDIR)/$(bindir)/qemu-ppc \
	$(DESTDIR)/$(datadir)/bios.bin \
	$(DESTDIR)/$(datadir)/vgabios.bin \
	$(DESTDIR)/$(datadir)/vgabios-cirrus.bin \
	$(DESTDIR)/$(datadir)/ppc_rom.bin \
	$(DESTDIR)/$(datadir)/proll.bin \
	$(DESTDIR)/$(datadir)/linux_boot.bin \
	$(DESTDIR)/$(docdir)/qemu-doc.html \
	$(DESTDIR)/$(docdir)/qemu-tech.html \
	$(DESTDIR)/$(mandir)/man1/qemu.1 $(DESTDIR)/$(mandir)/man1/qemu-mkcow.1 )

ifneq ($(wildcard .depend),)
include .depend
endif

HEADERS:

ifdef CONFIG_SDL
HEADERS: keysym_adapter_sdl.h
endif

ifdef CONFIG_VNC
HEADERS: keysym_adapter_vnc.h
endif

keysym_adapter_sdl.h: Makefile create_keysym_header.sh
	sh create_keysym_header.sh sdl "$(SDL_CFLAGS)"

keysym_adapter_vnc.h: Makefile create_keysym_header.sh
	sh create_keysym_header.sh vnc "$(VNC_CFLAGS)"