summaryrefslogtreecommitdiff
path: root/com32/hdt/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* build: sort sources to build in a more deterministic wayPhilippe Coval2015-01-051-1/+1
| | | | | | | | | | | | | | | | | It has been observed that binaries contents are depending on the order of linked objects. This order is caused by GNU make's wildcard function and the position of sources on filesystem. This change tries to prevent this kind of randomness. Also consider building using -j1 flag to make it even more reproductible. Change-Id: Ie8eee7f336e6f1fa2863c4150d967afd15519f1d Bug: http://bugzilla.syslinux.org/show_bug.cgi?id=57#related Signed-off-by: Philippe Coval <philippe.coval at open.eurogiciel.org>
* Merge tag 'syslinux-5.01' into firmwaresyslinux-6.00-pre4Matt Fleming2013-01-291-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Makefile NEWS com32/cmenu/Makefile com32/elflink/ldlinux/Makefile com32/gfxboot/Makefile com32/gpllib/Makefile com32/include/sys/module.h com32/lib/Makefile com32/lib/sys/module/elf_module.c com32/menu/Makefile com32/rosh/Makefile com32/samples/Makefile core/init.c mk/elf.mk Signed-off-by: Matt Fleming <matt.fleming@intel.com>
| * Always strip all the modulesH. Peter Anvin2013-01-171-1/+1
| | | | | | | | | | | | | | | | Always strip the modules; they are too big unstripped. Specifically, we generate unstripped *.elf files, and then convert them to stripped *.c32 files. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Merge tag 'syslinux-5.00-pre9' into for-hpa/elflink/firmwareMatt Fleming2012-11-051-4/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | This merge also includes the Syslinux-4.06 release. Conflicts: Makefile com32/hdt/Makefile com32/modules/Makefile com32/samples/hello.c mtools/Makefile
| * Merge branch 'master' into elflinkMatt Fleming2012-10-241-0/+4
| |\ | | | | | | | | | | | | | | | | | | | | | | | | The following conflict is a result of the fact comapi_chainboot was only stubbed out on the 'elflink' branch but was properly marked as obsolete in 'master'. Conflicts: core/comboot.inc
| | * hdt: Adding sleep commandErwan Velu2012-05-291-0/+2
| | | | | | | | | | | | | | | | | | | | | This command will help users getting some delay between two automatic commands. As an example, it can be used to show a serie of pictures.
| | * hdt: Adding display command to change backgroundErwan Velu2012-05-291-0/+2
| | | | | | | | | | | | | | | | | | | | | This command allow switching the background image. This could be used for example to give more explicit message to users. Idea is coming from the FGTC project
| * | Clean up $(GPLLIB) leakMatt Fleming2012-10-191-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modules were linking against com32/gpllib/libcom32gpl.c32 even when NOGPL was set, so remove it from various modules Makefiles and use $(C_LIBS) in mk/elf.mk which already has the conditional-magic for $(GPLLIB). Also, the object files in com32/gpllib/ are not distributed in the release tarballs, which means that if a user does a 'make netinstall' they hit the following install error, install: cannot stat `com32/gpllib/*.c32': No such file or directory Add a $(INSTALLABLE_MODULES) variable to separate the list of build and install modules. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | | Add per-firmware object directory supportMatt Fleming2012-10-161-7/+7
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we have multiple firmware backends it no longer makes sense to write object files to the same directory as their source. A better solution is to write the object files to a per-firmware directory under a top-level object directory. The top-level object directory can be specified on the command-line with the O= variable, e.g. make O=/tmp/obj. If no top-level object directory is specified an 'obj' directory is created in the top-level of the Syslinux source repository. All the existing make targets continue to work as before, however now they apply to all firmware backends, e.g. 'make installer' will build the BIOS, 32-bit EFI and 64-bit EFI installers and place them under $(OBJ)/bios, $(OBJ)/efi32 and $(OBJ)/efi64 respectively. Note unlike every other bit of Syslinux, the gpxe objects are still kept in the src directory, e.g. gpxe/src, since gpxe is only required by the BIOS backend. It is possible to specify a make target for a specific firmware or list of firmware with the following syntax, make [firmware[,firmware]] [target[,target]] To clean the object directory for just the BIOS firmware type, 'make bios clean' To build both the 32-bit and 64-bit EFI installers type, 'make efi32 efi64 installer' Since the Syslinux make infrastructure is now more complex a new file doc/building.txt has been created to explain how to build Syslinux. The top-level Makefile now exports some make variables for use in module Makefiles, - topdir - the top-level source directory of the Syslinux repository, e.g. /usr/src/syslinux - objdir - the top-level object directory for the firmware backend currently being built, e.g. /obj/syslinux/bios - SRC - the source directory in the Syslinux repository for the module currently being built, e.g. /usr/src/syslinux/com32/libupload - OBJ - the object directory for the module currently being built, e.g. /obj/syslinux/bios/com32/libupload Since we're rewriting the Makefile infrastructure anyway it seemed like a good idea to add parallel support. By writing subdirectories as prequisites for make targets the objects in those subdirectories can be built in parallel. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | com32: Per-object file LDFLAGSMatt Fleming2012-06-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Some object files need to link against the ELF libraries. Allow them to be specified with the following syntax in the Makefiles, LDFLAGS_$(object_file) = $(LIBS) By adding libraries in this way DT_NEEDED entries are created in the ELF modules and the required library dependencies are automatically loaded before running the module. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | Merge remote-tracking branch 'zytor/master' into merge/elflink/masterMatt Fleming2012-05-311-2/+8
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | A lot of development has gone on in the 'master' branch since the last time we merged; new features, bug fixes, etc, etc. Conflicts: Makefile com32/Makefile com32/lib/Makefile com32/lib/syslinux/load_linux.c com32/modules/Makefile com32/modules/chain.c core/bootsect.inc core/init.inc version
| * hdt: Fixing chain32 target in makefileErwan Velu2012-05-251-1/+1
| | | | | | | | chain32 moved, let's adjust the "release" target.
| * hdt: Adding hybrid iso image during releaseErwan Velu2011-04-261-1/+7
| | | | | | | | When we release hdt, generating an usb hybrid image could be useful.
* | hdt: libmenu.a no longer existsMatt Fleming2011-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | Don't link against libmenu.a, it no longer exists as it was removed in commit 74518b8b691c ("elflink: Make ELF the default object format"). This fixes the following build error, make[2]: *** No rule to make target `../cmenu/libmenu/libmenu.a', needed by `hdt.c32'. Stop. Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
* | elflink: Make ELF the default object formatMatt Fleming2011-04-261-2/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | com32/elflink/modules was originally created to house ELF modules and keep them separate from the COM32 modules as the elflink branch was being developed. However, this has inadvertently created a maintenance nightmare because code was copied from elsewhere in the tree into com32/elflink/modules, resulting in duplication. Bug fixes have been going into the original code but have not been merged onto the elflink branch, leaving the duplicate code in com32/elflink/modules buggy. So let's delete this directory. There really is no reason to keep ELF and COM32 modules separate because there's no reason to need both COM32 and ELF modules to coexist. ELF is a far superior object file format and all modules are not emitted as ELF objects. Now that we're outputting ELF modules we can use dynamic memory instead of the cs_bounce bounce buffer. This commit requires a certain amount of shuffling for some files. quicksort.c isn't a module and belongs as part of the util library. cli.h belongs in com32/include so that other modules can make use of the cli code in ldlinux.c32. All libraries are now ELF shared libraries which are only loaded to fixup unresolved symbols for executable modules and renamed from *.a to *.c32. This reduces the runtime memory footprint because libraries are only loaded when needed and because every executable no longer gets its own copy of code/data (as it would if linking with a static library). Also, remove MINLIBOBJS from libcom32.c32 because it is already part of libcom32min.a and we don't want to have any duplicate symbols between the core (which links with libcom32min.a) and libcom32.c32. Welcome to the New World Order of ELF modules! Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
* hdt: add back -I$(com32)H. Peter Anvin2011-04-261-1/+1
| | | | | | | hdt picks up include files from outside the include directory and so needs an explicit -I$(com32). This probably should be fixed. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge remote-tracking branch 'mfleming/for-hpa/makefile-cleanup'H. Peter Anvin2011-04-261-4/+4
|\ | | | | | | | | | | | | | | Resolved Conflicts: com32/hdt/Makefile com32/sysdump/Makefile Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * hdt: Delete superfluous $(LIBS) prerequisitesMatt Fleming2011-04-161-2/+1
| | | | | | | | | | | | | | com32.mk already includes the necessary libraries in $(C_LIBS), we don't need to list them again in $(LIBS). Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
| * Makefile: Move Makefile fragments into mk/Matt Fleming2011-04-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the MCONFIG files into a mk/ directory and give them more descriptive names. This is purely a cosmetic change to make the 'include' directives a bit more coherent by making it obvious exactly which MCONFIG file we're including. For example, in com32/lua/src/Makefile we exchange the line, include ../../MCONFIG for the much more comprehensible, include $(MAKEDIR)/com32.mk Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
* | hdt: Using dashed instead of . into label nameErwan Velu2011-04-211-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | When generating floppy images some version of mtools (< 4.0.14) are buggy and generate incorrect labels. So using > 4.0.13 is recommended. Anyway, let's use _ into the volume name, that cleaner : We now have disk label="HDT_0_5_0_B" instead of disk label="HDT_0~5~0-B"
* | hdt: Adding chain.c32 to pre-built imagesErwan Velu2011-04-131-1/+4
| | | | | | | | This got a requirement from some users.
* | hdt: Fixing checksums deletionErwan Velu2011-04-121-1/+1
| | | | | | | | | | We have to delete all the checksums files while cleaning. Older release might exists.
* | hdt: Adding checksums fileErwan Velu2011-04-111-0/+6
| | | | | | | | When generating a release, let's create a list of the checksums
* | hdt: Adding preliminary dump supportErwan Velu2011-03-181-2/+2
|/ | | | This commit add the basics for doing a dump command.
* hdt: Updating memtest to 4.20Erwan Velu2011-01-261-2/+2
|
* Merge branch 'master' into chouffeErwan Velu2011-01-251-5/+2
|\ | | | | | | | | Conflicts: com32/hdt/hdt.h
| * hdt: Using syslinux_reboot() callErwan Velu2010-06-221-4/+1
| | | | | | | | Rebooting can be achieved via syslinux_reboot() instead of the useless reboot.c32 module.
| * hdt: updating memtest to 4.10Erwan Velu2010-06-221-1/+1
| |
* | hdt: Adding make test targetErwan Velu2009-12-071-0/+4
|/ | | | | | | Impact: Make testing easier During the dev. phases, we usually do make hdt.img; qemu-kvm -fda hdt.img. Let's put that into a make target.
* hdt: Fixing make release targethdt-0.3.6Erwan Velu2009-12-041-1/+1
| | | | | | Impact: fixing com32 naming Make release now generates the .c32 file accordingly to the scheme
* hdt: Fixing memtest entryErwan Velu2009-12-041-1/+1
| | | | | | Impact: none Fixing memtest entry
* hdt: Makefile isn't gzipping pci.idsErwan Velu2009-12-041-2/+2
| | | | | | Impact: avoid missed gzipping The iso wasn't gzipping pci.ids correctly
* hdt: Keeping symlinks on generated binariesErwan Velu2009-12-041-0/+3
| | | | | | Impact: none Building binary images let some symlinks useful for testing
* hdt: Adding memtest is our binary imagesErwan Velu2009-12-041-2/+12
| | | | | | Impact: memtest is now included Downloading memtest while generating floppy/iso images
* hdt: Adding 'release' target to MakefilErwan Velu2009-12-041-5/+11
| | | | | | Impact: Automate releasing files 'make release' will generate the proper binaries
* hdt: Adding CODENAME in title (menu.c32)Erwan Velu2009-12-041-2/+5
| | | | | | Impact: visual Let's display the CODENAME in the menu title
* hdt: Auto generating versions for menu modeErwan Velu2009-12-041-2/+4
| | | | | | Impact: visual The menu mode now display the current version
* hdt: Adding a menu for floppy & iso imagesErwan Velu2009-12-041-1/+4
| | | | | | | Impact: none Floppy & ISO images are now featuring a menu mode. Thx gert for this idea.
* hdt: Only copy needed art filesErwan Velu2009-11-211-2/+2
| | | | | | | Impact: Reduces binary image size This commit only copy the needed art files to put in the floppy/iso images.
* hdt: Adding background image for the CLIErwan Velu2009-11-201-1/+4
| | | | | | Impact: Visual The cli now features a background image when started in vesa mode
* hdt: hdt.img must use 8.3 namingErwan Velu2009-11-201-3/+3
| | | | | | Impact: Loading files is now working again Prior to that commit, the hdt.img was failing loading files
* hdt: Generating gzipped content in binary imagesErwan Velu2009-11-101-11/+18
| | | | | | Impact: Reduces image size Floppies & ISO are now using gzipped content to reduce the size
* hdt: Adding reboot.c32 in iso & floppy imagesErwan Velu2009-11-021-1/+4
| | | | | | | Impact: reboot is now working in floppy & iso images The reboot features requires the reboot.c32 file to be copied in our floppy & iso images
* hdt: Adding hdt.img.gz targetErwan Velu2009-10-291-0/+4
| | | | | | Impact: It's now possible to have a gzipped floppy image 'make hdt.img.gz' now generates a gzipped floppy image
* hdt: Fixing hdt.iso target, pci.ids was missingErwan Velu2009-10-271-2/+3
| | | | | | | | Impact: Iso file is now having pci.ids The makefile did forget to copy the pci.ids into the iso. This stupid test is fixed. Thx gert from reporting it.
* hdt: Cleaning MakefileErwan Velu2009-10-211-22/+25
| | | | | | Impact: none We use more variables to have a clean makefile
* hdt: Adding hdt.iso targetErwan Velu2009-10-191-1/+18
| | | | | | Impact: It's now possible to generate a bootable iso make hdt.iso now generates a bootable iso
* hdt: Adding missing hdt.c32 in 'make hdt.img'Erwan Velu2009-10-071-0/+1
| | | | | | | | | Impact: hdt.img is now complete and running After several modification of the makefile, the copy of hdt.c32 had disapeared from the makefile :( This commit reintroduce this missing. 'make hdt.img' is now working again
* hdt: Adding hdt.img targetGert Hulselmans2009-10-041-1/+17
| | | | | | | Impact: add a bootable floppy image The 'make hdt.img' command generates a hdt.img file. hdt.img is a 2.88MB floppy bootable image.
* Makefiles: try to make "make install" do the right thingH. Peter Anvin2009-04-061-56/+22
| | | | | | | | One more attempt at getting semi-sanity to "make install". Realistically, the install/netinstall/install-all/... needs to be pushed into the com32 Makefiles, but this is at least a quick hack. Signed-off-by: H. Peter Anvin <hpa@zytor.com>