summaryrefslogtreecommitdiff
path: root/mtools/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* libinstaller: introduce syslxrw libraryPaulo Alcantara2015-11-101-1/+1
| | | | | | | | Due to size constraints on DOS systems, do not include whole syslxcom into DOS-based installer for using xpread() and xpwrite() functions, instead make them part of another separate library and include it only. Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
* mtools: Remove local xpread/xpwrite, use ones from syslxcomNicolas Cornu2015-11-101-0/+1
| | | | | Signed-off-by: Nicolas Cornu <ncornu@aldebaran.com> Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
* 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 remote-tracking branch 'origin/syslinux-5.xx'H. Peter Anvin2014-01-181-1/+1
|\ | | | | | | | | | | | | Resolved Conflicts: version Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * Merge remote-tracking branch 'origin/syslinux-4.xx' into syslinux-5.xxH. Peter Anvin2014-01-181-1/+1
| |\ | | | | | | | | | | | | | | | | | | Resolved Conflicts: version Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| | * Makefiles: don't include *.tmpH. Peter Anvin2014-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since checkin: bd09a6d828fa Major Makefile cleanups; gcc 4.3.0 compatiblity ... we include *.tmp into the Makefiles as well as .*.d. This seems to have been a mistake in made when adding *.tmp to cleanup rules, probably using a sed script. This causes problems, because *.tmp files are generated by the gcc_ok macro and do not contain Makefile rules at all. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | | Merge tag 'syslinux-5.00-pre9' into for-hpa/elflink/firmwareMatt Fleming2012-11-051-0/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | This merge also includes the Syslinux-4.06 release. Conflicts: Makefile com32/hdt/Makefile com32/modules/Makefile com32/samples/hello.c mtools/Makefile
| * | installers: Install ldlinux.c32 automaticallysyslinux-5.00-pre8Matt Fleming2012-09-191-0/+1
| |/ | | | | | | | | | | | | Because ldlinux.c32 is required for Syslinux to function correctly, we should be installing it automatically much like ldlinux.sys. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | Add per-firmware object directory supportMatt Fleming2012-10-161-5/+3
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Add NTFS filesystem support to Linux and Windows installersPaulo Alcantara2011-09-071-1/+1
| | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
* Add "make strip" targetH. Peter Anvin2011-05-091-0/+3
| | | | | | | | Add a "make strip" target, to make doing the official build easier. We want the official build to have stripped binaries for size reasons, so do it right and make it an actual build target. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Remove -s for host binariesH. Peter Anvin2011-05-091-1/+1
| | | | | | | | Remove -s for host binaries; current practice is to let the distro packaging systems do that themselves. For the official binaries, we should probably strip them, but via an external tool. Signed-off-by: H. Peter Anvin <hpa@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>
* mtools: Use libinstaller option parserShao Miller2010-07-031-0/+1
| | | | | | | We will produce an error message if a user attempts to use an option we don't implement. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
* mtools: create an empty ADVsyslinux-4.00-pre58H. Peter Anvin2010-06-221-0/+1
| | | | | | Create an install an empty ADV. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Merge syslinux/extlinux patch code and core codeH. Peter Anvin2010-06-201-0/+1
| | | | | | | | Merge the SYSLINUX and EXTLINUX patching code and core code, removing EXTLINUX as a separate derivative. All the disk-based systems now use the same code. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile: replace -W -Wall with centralized $(GCCWARN)H. Peter Anvin2010-01-101-1/+1
| | | | | | | | | Replace -W -Wall hardcoded into a bunch of Makefiles with $(GCCWARN), a centralized variable defined in the root MCONFIG. Add -Wstrict-prototypes to the list of global warnings: we should never have non-prototyped declarations. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Unify dependency generationH. Peter Anvin2009-04-271-3/+3
| | | | | | | | | | | | Make the dependency generation more common; have a general pattern in MCONFIG, and use it in rules (not in CFLAGS). For NASM source, in order to stay compatible with old versions of NASM, run NASM twice; newer versions of NASM is capable of generating dependencies simultaneously like gcc can, but that would break compatibility with older distros. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Major Makefile cleanups; gcc 4.3.0 compatiblityH. Peter Anvin2008-08-201-11/+5
| | | | | Cleanup and centralize the Makefile system even more. Fix a gcc 4.3 incompatibility in memdisk (definition of strlen).
* Build _bin.c files in libinstaller; clean up B/I separationH. Peter Anvin2008-06-271-3/+5
| | | | | | | Clean up the BSUBDIR/ISUBDIR separation further. Build _bin.c files, which are an intermediate stage toward building the installers, in the libinstaller directory, since that directory is used by all the installers anyway. That also lets us get bin2c.pl out of the root.
* Move files out of root into core, dos, and utilsH. Peter Anvin2008-05-291-3/+4
| | | | | | | | Move source files out of the root directory; the root is a mess and has become virtually unmaintainable. The Syslinux core now lives in core/; the Linux and generic utilities has moved into utils/, and copybs.com has moved into dos/; it had to go somewhere, and it seemed as good a place as any.
* Assemble via ELF, to enable future linkingH. Peter Anvin2008-05-281-1/+2
| | | | | Assemble all files to ELF instead of using the NASM built-in linker. This can enable us to do actual linking in the future.
* Use $(CC) in gcc_ok macro, not plain gccH. Peter Anvin2008-03-051-1/+1
| | | | | Use $(CC) in gcc_ok macro, not plain gcc. This seems to work, iff the gcc_ok macro is declared with =, not :=
* Create libinstaller; actually implement boot-once for extlinuxH. Peter Anvin2007-12-141-2/+2
| | | | | | --once now supported for extlinux; some infrastructure for syslinux there as well, need implementation in all the various installers, however.
* Don't clobber /dev/null when compiling as rootLuciano Rocha2007-05-251-2/+4
| | | | | | Compiling as root is highly discouraged, but some people do it anyway. gcc_ok, however, can clobber /dev/null due to "-o /dev/null"; this is bad. Instead, write a temporary file and delete it.
* Deal with various distributions breaking gcc in weird waysH. Peter Anvin2007-02-061-1/+7
|
* Across-the-board stealth whitespace cleanupH. Peter Anvin2006-05-031-3/+0
|
* More adjustment to the Brave New World<TM>hpa2004-12-151-2/+3
|
* Prepping for new 2.20 version: rewrite main syslinux program to supporthpa2004-12-151-0/+39
FAT32 and EDD, and a new cleaner installer infrastructure.