summaryrefslogtreecommitdiffstats
path: root/Makefile.target
Commit message (Collapse)AuthorAgeFilesLines
* build: softmmu targets do not have a "main.o" filePaolo Bonzini2014-02-201-2/+0Star
| | | | | | Thus this rule is useless. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* Makefile: introduce common-obj-m and block-obj-m for DSOFam Zheng2014-02-201-1/+5
| | | | | | | | $(common-obj-m) will include $(block-obj-m), like $(common-obj-y) does for $(block-obj-y). Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* rules.mak: fix $(obj) to a real relative pathFam Zheng2014-02-201-4/+13
| | | | | | | | | | | | | | | | | | | | Makefile.target includes rule.mak and unnested common-obj-y, then prefix them with '../', this will ignore object specific QEMU_CFLAGS in subdir Makefile.objs: $(obj)/curl.o: QEMU_CFLAGS += $(CURL_CFLAGS) Because $(obj) here is './block', instead of '../block'. This doesn't hurt compiling because we basically build all .o from top Makefile, before entering Makefile.target, but it will affact arriving per-object libs support. The starting point of $(obj) is passed in as argument of unnest-vars, as well as nested variables, so that different Makefiles can pass in a right value. Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* default-configs/: CONFIG_GDBSTUB_XML removedÁkos Kovács2013-10-161-1/+1
| | | | | | | | | Makefile.target: Build gdbstub-xml.o only when TARGET_XML_FILES is not empty. Signed-off-by: Ákos Kovács <akoskovacs@gmx.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* Makefile.target: CONFIG_NO_* variables removedÁkos Kovács2013-10-161-6/+2Star
| | | | | | | | | CONFIG_NO_* variables replaced with the lnot logical function Signed-off-by: Ákos Kovács <akoskovacs@gmx.com> [PMM: fixed a few CONFIG_NO_* uses that were missed] Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: do not use TARGET_ARCHPaolo Bonzini2013-06-141-4/+4
| | | | | | | | | | | TARGET_ARCH is generally wrong to use, there are better variables provided in config-target.mak. The right one is usually TARGET_NAME (previously TARGET_ARCH2), but for bsd-user we can also use TARGET_ABI_DIR for consistency with linux-user. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1370349928-20419-4-git-send-email-pbonzini@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* build: rename TARGET_ARCH2 to TARGET_NAMEPaolo Bonzini2013-06-141-3/+3
| | | | | | | | Do not introduce any new use yet. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1370349928-20419-3-git-send-email-pbonzini@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* Add a stp file for usage from build directoryAlon Levy2013-06-141-3/+13
| | | | | | | | | | | | | | | | | | | For systemtap the location of the process being tapped is crucial, as a result the existing stp file requires installation for use. There are now two files: $(TARGET_DIR)/$(QEMU_PROG).stp-installed: copied to $(tapdir)/$(QEMU_PROG).stp $(TARGET_DIR)/$(QEMU_PROG).stp: pointing to the built binary, usable without installation To use: stap -I $(TARGET_DIR) ... Signed-off-by: Alon Levy <alevy@redhat.com> Acked-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1370349928-20419-2-git-send-email-pbonzini@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* dump: Drop qmp_dump_guest_memory() stub and build for all targetsAndreas Färber2013-06-111-1/+1
| | | | | | | | | | | | | qmp_dump_guest_memory() calls dump_init() and returns an Error when cpu_get_dump_info() returns an error, as done by the stub. So there is no need to have a stub for qmp_dump_guest_memory(). Enable the documentation of the always-present dump-guest-memory command. That way we can drop CONFIG_HAVE_CORE_DUMP and leave configure completely out of the picture for target CPU features. Signed-off-by: Andreas Färber <afaerber@suse.de>
* memory_mapping: Drop qemu_get_memory_mapping() stubAndreas Färber2013-06-111-3/+1Star
| | | | | | | | | | | | | | | dump.c:dump_init() never checked for the return code anyway. If paging is not enabled, it will fall back to an identity map. If paging is enabled and getting memory mapping list is not implemented, qemu_get_guest_memory_mapping() will return an error. Since the targets not implementing memory mapping also don't implement dump support, we will not reach this code today and can worry about changing cpu_paging_enabled() default when the need arises. This allows us to drop CONFIG_HAVE_GET_MEMORY_SUPPORT. Signed-off-by: Andreas Färber <afaerber@suse.de>
* dump: Move stubs into libqemustub.aAndreas Färber2013-06-101-2/+0Star
| | | | | | | | This allows us to drop CONFIG_NO_CORE_DUMP with its indirect dependency on CONFIG_HAVE_CORE_DUMP. Acked-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
* cpu: Make kvm-stub.o available outside softmmuIgor Mammedov2013-05-011-7/+7
| | | | | | | | | It will provide stubs for *-user targets once softmmu-specific calls are attempted from common CPU code. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
* win32: generate console executable againPaolo Bonzini2013-04-271-1/+1
| | | | | | | The -mwindows option is not anymore in LIBS at this point of the Makefile, it is only in libs_softmmu. Check the right variable. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: include config-{, all-}devices.mak after defining CONFIG_SOFTMMU and ↵Paolo Bonzini2013-04-241-1/+1
| | | | | | | | | | | | CONFIG_USER_ONLY Moving the inclusions closer to Makefile, and before rules.mak, makes Makefile and Makefile.target more consistent with each other. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Tested-by: Markus Armbruster <armbru@redhat.com> Message-id: 1366102238-12374-1-git-send-email-pbonzini@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* configure: move common libraries to config-host.makPaolo Bonzini2013-04-181-5/+5
| | | | | | | | | Move -lm to the end of the line, so that it can be picked up as a dependency by pixman in the static build case. Reviewed-by: Peter Maydell <peter.maydell@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* build: always link device_tree.o into emulators if libfdt availablePaolo Bonzini2013-03-011-0/+1
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* qtest: Add MMIO supportAndreas Färber2013-02-181-0/+1
| | | | | | | | | | | | | Introduce [qtest_]{read,write}[bwlq]() libqtest functions and corresponding QTest protocol commands to replace local versions in libi2c-omap.c. Also convert m48t59-test's cmos_{read,write}_mmio() to {read,write}b(). Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Andreas Färber <afaerber@suse.de> Message-id: 1361051043-27944-4-git-send-email-afaerber@suse.de Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* build: remove universal-obj-yPaolo Bonzini2013-01-261-2/+1Star
| | | | | | | | | | All of universal-obj-y, user-obj-y (right now unused) and common-obj-y can be unified into common-obj-y if we take care of defining CONFIG_SOFTMMU and CONFIG_USER_ONLY in the toplevel makefile. This is similar to how we define symbols for hardware components. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* build: improve quiet output for .stp rulesPaolo Bonzini2013-01-121-1/+1
| | | | | | Mention the directory in which the .stp file is being generated. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: consolidate multiple variables into universal-obj-yPaolo Bonzini2013-01-121-6/+1Star
| | | | | | | | | | | The directory descent mechanism, and a less-flat tree both helped in making some *-obj-y definitions very short. Many of these often end up in universal-obj-y, and used to be separate only because of libuser (which is now part of history...). Consolidate these variables in a single one. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: move util-obj-y to libqemuutil.aPaolo Bonzini2013-01-121-4/+4
| | | | | | Use a static library to eliminate repetition in the linking rules. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: rename oslib-obj-y to util-obj-yPaolo Bonzini2013-01-121-2/+2
| | | | | | This prepares the creation of libqemuutil.a in the next patch. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* tci: Fix broken builds with TCG interpreterStefan Weil2013-01-021-2/+1Star
| | | | | | | | | | TCI no longer compiled after commit 76cad71136b7eb371cf2a2a4e1621cfe8d9c769a. The TCI disassembler depends on data structures which are different for each QEMU target, so it cannot be compiled as a universal-obj today. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* build: fix includes for VNCPaolo Bonzini2012-12-221-5/+0Star
| | | | | | | | | | | vnc-tls.h is included by vnc.h, and it includes gnutls/gnutls.h. Hence, GnuTLS header files are needed by all files that include vnc.h, most notably qmp.c. Move these flags to QEMU_CFLAGS for simplicity. Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* build: kill libuserPaolo Bonzini2012-12-191-2/+1Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: kill libdis, move disassemblers to disas/Paolo Bonzini2012-12-191-4/+1Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: compile translate.o with -fno-gcse option on GCC 4.6.x and 4.7.[012]Paolo Bonzini2012-11-281-0/+3
| | | | | | | | | | | These versions of GCC require insane (>2GB) amounts of memory to compile translate.o. As a countermeasure, disable the culprit optimization pass. This should fix the buildbot failure for default_x86_64_fedora16. Anyway this is a good thing to do because people will try to compile 1.3 with less than 2GB of memory and complain. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* build: replace weak symbols with a static libraryPaolo Bonzini2012-11-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | Weak symbols were a nice idea, but they turned out not to be a good one. Toolchain support is just too sparse, in particular llvm-gcc is totally broken. This patch uses a surprisingly low-tech approach: a static library. Symbols in a static library are always overridden by symbols in an object file. Furthermore, if you place each function in a separate source file, object files for unused functions will not be taken in. This means that each function can use all the dependencies that it needs (especially QAPI stuff such as error_setg). Thus, all stubs are placed in separate object files and put together in a static library. The library then is linked to all programs. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Tested-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Remove libhwStefan Weil2012-10-051-1/+0Star
| | | | | | | | | | The entries for libhw* are no longer needed in .gitignore. There is also no longer a difference between common-obj-y and hw-obj-y, so one of those two macros is sufficient. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Make target_phys_addr_t 64 bits unconditionallyAvi Kivity2012-10-051-3/+0Star
| | | | | | | | | | The hassle and compile time overhead of maintaining both 32-bit and 64-bit capable source isn't worth the tiny performance advantage which is seen on a minority of configurations. Switch to compiling libhw only once, with target_phys_addr_t unconditionally typedefed to uint64_t. Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Remove unused CONFIG_TCG_PASS_AREG0 and dead codeBlue Swirl2012-09-151-8/+0Star
| | | | | | | | | | | | | Now that CONFIG_TCG_PASS_AREG0 is enabled for all targets, remove dead code and support for !CONFIG_TCG_PASS_AREG0 case. Remove dyngen-exec.h and all references to it. Although included by hw/spapr_hcall.c, it does not seem to use it. Remove unused HELPER_CFLAGS. Signed-off-by: Blue Swirl <blauwirbel@gmail.com> Reviewed-by: Richard Henderson <rth@twiddle.net>
* build: get dependency file directories from object file namesPaolo Bonzini2012-07-281-3/+0Star
| | | | | | | | | | After commit dcff25f2cd8c11a9368cc2369aeb0319c32d9e26, Dependency file are taken from the directories that have a Makefile.objs file. This is not enough, since files can be included from other directories. So, pick them from directories that have an object file in them. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* bsd-user: fix buildBlue Swirl2012-06-281-1/+1
| | | | | | | Link in oslib objects also for BSD user, but avoid using the version of qemu_vmalloc() defined in oslib-posix.c. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Makefile.target: Update clean command to clean hw/ directoryPeter Maydell2012-06-271-2/+2
| | | | | | | | | | | Now we create object files in a hierarchy under hw/, so the 'clean' target must also be updated to delete those object files. Rather than using a manual list of subdirectories which will easily drift out of date, we just delete all .o and .d files in the target directory hierarchy. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* make: Fix dependencies for fpu/*.c and tcg/*.cStefan Weil2012-06-241-1/+1
| | | | | | | | | Commit dcff25f2cd8c11a9368cc2369aeb0319c32d9e26 removed too many *.d files. The directories fpu/ and tcg/ still don't use the recursive subdir rules. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* make: automatically include dependencies in recursive subdir rules (v2)Anthony Liguori2012-06-191-1/+1
| | | | | | | I think I understand enough of what's going on in these rules to ensure this is right. But I could certainly use a second or third opinion... Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Revert "build: compile oslib-obj-y once"Blue Swirl2012-06-101-1/+1
| | | | | | | This reverts commit 25f27a4f7160d077d6992e811021b4bc3a82abc1 because of bsd-user breakage. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* build: compile oslib-obj-y oncePaolo Bonzini2012-06-071-1/+1
| | | | | | | | There is no difference in oslib-obj-y between user-mode and system targets. There used to be when user-mode could optionally be compiled with PIE. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: limit usage of vpathPaolo Bonzini2012-06-071-3/+2Star
| | | | | | | All paths are now explicitly given, and the object tree mimics the source tree, so there is no need to apply special vpaths. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: libcacard Makefile cleanupsPaolo Bonzini2012-06-071-6/+0Star
| | | | | | Build vscclient from toplevel Makefile, limit usage of vpath. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: move device tree to per-target Makefile.objsPaolo Bonzini2012-06-071-7/+0Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: move per-target hw/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-28/+7Star
| | | | | | | | This completes the move to nested Makefiles for virtio and a few other files that were not part of obj-TARGET-y, but still were compiled separately for each target. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: move rules for nesting to Makefile.objsPaolo Bonzini2012-06-071-25/+22Star
| | | | | | | | | | | | | At this point we will start adding nesting behavior to other files than Makefile.target. Because Makefile.objs is included by Makefile.target, it is simpler to move the processing of subdirectories there. To enable this, only add per-target files to obj-y. Use a separate variable for the linker dependencies, all-obj-y. This variable includes obj-y and also all objects that are taken from other directories. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: move other target-*/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-5/+5
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* dump: remove dumping stuff from cpu-all.hPaolo Bonzini2012-06-071-4/+6
| | | | | | | | This simplifies things, because they will only be included for softmmu targets and because the stubs are taken out-of-line in separate files, which in the future could even be compiled only once. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* dump: do not compile dump.o for user-mode emulationPaolo Bonzini2012-06-071-2/+1Star
| | | | | | | It is not needed, because the monitor is not included. Cc: Wen Congyang <wency@cn.fujitsu.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: move libobj-y variable to nested Makefile.objsPaolo Bonzini2012-06-071-34/+7Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: move obj-TARGET-y variables to nested Makefile.objsPaolo Bonzini2012-06-071-173/+13Star
| | | | | | Also drop duplicate occurrence of device-hotplug.o. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: move *-user/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-22/+10Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: do not sprinkle around GENERATED_HEADERS dependenciesPaolo Bonzini2012-06-071-10/+4Star
| | | | | | | | Keeping GENERATED_HEADERS dependencies up-to-date everywhere is complex. We can simply make the Makefile depend on them, and they will be built before all other targets. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>