aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a dependency (error with make -j8).Vincent Lefevre2015-12-151-1/+1
| | | | Signed-off-by: Vincent Lefevre <vincent@vinc17.net>
* Revert all of my changes to directories & codingstyle.gus knight2015-07-291-5/+418
|
* Fix Makefile.gus knight2015-07-291-2/+2
|
* Add a root Makefile for running targets in subdirectories.gus knight2015-07-291-0/+8
|
* Reorganize the source tree.gus knight2015-07-271-421/+0
| | | | | | | | | | * Documentation is now in "docs". * Source code is now in "src". * Misc. fixes here and there so that everything still works. I think I got everything in this commit, but I only tested this on Linux (Make) and Windows (CMake), so I might've messed something up on other platforms...
* fix installation amd bcheck for Windowsseyko2015-04-101-9/+7
| | | | | | | | | | | | | | | | | | | | | | * define targetos=Windows when --enable-tcc32-mingw, --enable-cygwin, ... * use TARGETOS insteed HOST_OS when selecting PROGS * use "$(tccdir)" insteed $(tccdir) on install (spaces in path) * install tcc.exe too * produce bcheck.o when cross-compiling too (lib/Makefile) * force bcheck.o linking by compiling inside tcc_set_output_type() a dummy program with local array. Otherwise bcheck.o may be not linked. * replace %xz format specifier with %p in bcheck (don't supported on Windows) * call a __bound_init when __bound_ptr_add, __bound_ptr_indir, __bound_new_region, __bound_delete_region called. This is because a __bound_init inside ".init" section is not called on Windows for unknown reason. * print on stderr a message when an illegal pointer is returned: there is no segmentation violation on Windows for a program compiled with "tcc -b" * remove "C:" subdir on clean if $HOST_OS = "Linux" * default CFLAGS="-Wall -g -O0" insteed CFLAGS="-Wall -g -O2" to speed up compilation and more precise debugging.
* Fix to accommodate missing i386/bcheck.o during install on Mac OS XRaphael Cohn2015-04-071-1/+1
|
* Fix to test for HOST_OS not TARGETOSRaphael Cohn2015-04-071-1/+1
|
* Fixing bug for Linux x86_64 introduced in previous macosx commitRaphael Cohn2015-04-071-2/+2
|
* Adjusted configure host_os to use uname for DarwinRaphael Cohn2015-04-071-1/+10
| | | | | Adjusted Makefile to make it Darwin (Mac OS X 10.10)-friendly for cross-compilers by removing the creation of arm64 cross-compilers on this platform.
* fix: enforce bcheck.o linking when -b option is usedseyko2015-03-261-0/+6
| | | | | fixes a crash for the empry program (tcc -b empty.c) empty.c: int main() { return 0; }
* quick fix for the native tcc on debian/ubuntuseyko2015-03-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Force to use a NATIVE_DEFINES insteed of the DEFINES for the native tcc. After this change we have on debian/ubuntu # ./x86_64-tcc -vv tcc version 0.9.26 (x86-64, Linux) install: /usr/local/lib/tcc crt: /usr/lib/x86_64-linux-gnu libraries: /usr/lib/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib /usr/local/lib/x86_64-linux-gnu /usr/local/lib include: /usr/local/include/x86_64-linux-gnu /usr/local/include /usr/include/x86_64-linux-gnu /usr/include /usr/local/lib/tcc/include elfinterp: /lib64/ld-linux-x86-64.so.2 Before this change the output was # ./x86_64-tcc -vv tcc version 0.9.26 (x86-64, Linux) install: /usr/local/lib/tcc crt: /usr/lib libraries: /usr/lib /lib /usr/local/lib include: /usr/local/include /usr/include /usr/local/lib/tcc/include elfinterp: /lib64/ld-linux-x86-64.so.2 This change don't fix a cross compilers
* correction for the previous commitseyko2015-03-201-2/+2
| | | | use "x86-64" as a directory name for the libtcc1.a installation when cross-compiling.
* libtcc1.a while "configure --enable-cross"seyko2015-03-201-6/+9
| | | | | build and install libtcc1.a for i386, x86_64 and arm64 (libtcc1.a for x86_64 was not installed on i386)
* "configure --enable-cross" on x86: build a libtcc1.a for x86_64seyko2015-03-191-1/+1
|
* A native tcc for MSYS (Windows) must be i386-win-tcc.exe and not i386-tcc.exeseyko2015-03-101-0/+13
| | | | | i386-tcc.exe is a compiler for i386 Linux. A HOST_OS variable in Makefile is introduced and used to select a native compiler (which one to name as tcc.exe)
* Makefile: install tcc$(EXESUF) as symlink to the $(ARCH)-tccseyko2015-03-061-4/+2
|
* Makefile: add dependencies for $($(I386_CROSS)_LINK), ...seyko2015-03-061-8/+7
| | | | | This is another solution for the make process. Commit 4b92dbf9237c is reverted.
* Makefile leftover of rev 44c6e99Roy2015-03-061-2/+2
|
* Add a dependency for a PROGS and TCCLIBS to a Makefileseyko2015-03-051-0/+2
| | | | | Simply assume this is all *.c and *.h files in a tcc top directory. Now a tcc compiler is recompiled if any of this files is changed.
* Fix compiling in MinGW/MSYSRoy2015-03-051-2/+2
|
* gcc options and mingw: move a gcc options detection from a makefile to the ↵seyko2015-03-041-13/+1
| | | | | | | | configure + define XCC and XAR if mingw32 defined + use XCC and XAR in lib/Makefile if defined Try "./configure --enable-mingw32; make". This must work
* install-clean-tuningseyko2015-03-041-16/+26
| | | | | | | | | | | | | | | | * Don't use /usr/local/lib/tcc/libtcc1.a for i386 and x86_64 A $(tccdir)/i386 directory was used to install a libtcc1.a but only when cross compiling. And no x86_64 directory. * Build/install i386-tcc/x86_64-tcc and not a tcc * Build/install i386-win-tcc/x86_64-win-tcc and not a i386-win-mingw32-tcc/... * DEFINES = -DTCC_TARGET_I386... also for i386-tcc and i386-win-tcc * Make a symlink tcc to the i386-tcc/x86_64-tcc for a "make test" * Build a $(ARCH) directory with a symlink to the libtcc1.a for a "make test" * Remove a /usr/local/lib/tcc directory on uninstall * Remove a /usr/local/share/doc/tcc directory on uninstall * Remove a $(ARCH) directory on "make clean" * Remove a *-tcc files on "make clean"
* an unification of the tcc cross names for a windowsseyko2015-03-041-16/+16
| | | | | | | | | | | | | | | | | | | | | | produce a i386-win-mingw32-tcc i386-win-tcc x86_64-win-mingw32-tcc x86_64-win-tcc arm-win-mingw32ce-tcc arm-win-tcc instead of the i386-w64-mingw32-tcc i386-win32-tcc x86_64-w64-mingw32-tcc x86_64-win32-tcc arm-wince-mingw32ce-tcc arm-win32-tcc Replacing a *-win32 directory names with a *-win names because this names are based on the names of the tcc x86_64-win32-tcc, i386-win32-tcc
* reverse a commit a6149c6dbb41: Set CONFIG_MULTIARCHDIR for cross compilers.seyko2015-03-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set CONFIG_MULTIARCHDIR for cross compilers. Chances a cross-compiler will find a working crt*.o in /usr/lib are more or less 0. This commit breaks x86 / x86_64 compilres for linux. A solution for the crt*.o must be discussed. must be: # ./x86_64-tcc -vv tcc version 0.9.26 (x86-64, Linux) install: /usr/local/lib/tcc crt: /usr/lib64 libraries: /usr/lib64 /lib64 /usr/local/lib64 include: /usr/local/include /usr/include /usr/local/lib/tcc/include elfinterp: /lib64/ld-linux-x86-64.so.2 and with MULTIARCH we have: # ./x86_64-tcc -vv tcc version 0.9.26 (x86-64 Linux) install: /usr/local/lib/tcc/ crt: /usr/lib/x86_64-linux-gnu ??????????????????? libraries: /usr/lib/x86_64-linux-gnu /usr/lib ??????????????????? /lib/x86_64-linux-gnu /lib ??????????????????? /usr/local/lib/x86_64-linux-gnu /usr/local/lib ??????????????????? include: /usr/local/include/x86_64-linux-gnu /usr/local/include /usr/include/x86_64-linux-gnu /usr/include /usr/local/lib/tcc/include elfinterp: /lib64/ld-linux-x86-64.so.2 And CONFIG_MULTIARCHDIR don't handle C67. On Linux x86 we have: # ./c67-tcc -vv tcc version 0.9.26 (C67, Linux) install: /usr/local/lib/tcc crt: /usr/lib libraries: /usr/lib /lib /usr/local/lib include: /usr/local/include /usr/include /usr/local/lib/tcc/include elfinterp: /lib/ld-linux.so.2
* Add arm64 (AArch64) as a target architecture.Edmund Grimley Evans2015-02-231-5/+15
|
* Set CONFIG_MULTIARCHDIR for cross compilers.Reimar Döffinger2015-01-181-4/+4
| | | | | | | Chances a cross-compiler will find a working crt*.o in /usr/lib are more or less 0. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* Build also WinCE cross compiler when cross compilers enabled.Reimar Döffinger2015-01-181-5/+5
| | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* Makefile: Add rules to create tags and TAGS.Lee Duhem2014-11-281-2/+9
|
* Accept CPPFLAGS from the environmentMatteo Cypriani2014-09-071-1/+1
| | | | | | | Don't override CPPFLAGS so that it can be passed through the environment. (This is a patch Thomas Preud'homme wrote for Debian in February 2013.)
* Always link libtcc1.a in (useful for va_* on x86)Thomas Preud'homme2014-03-251-4/+0
| | | | On x86 tcc call to function in libtcc1.a to implement va_* functions.
* Ordinary and implicit rules cannot be mixed in the same string in MakefileIavael2014-01-231-1/+1
|
* tcctest: add back testXb (self compile with -b)grischka2014-01-211-2/+2
| | | | | | | | | | | | | | | | | | - Thanks to Kirill "tcc -b itself" should work now (was removed in d5f4df09ff4a84dda5b03525285f03be7723376b) Also: - tests/Makefile: - fix spurious --I from 767410b8750b45d63805b45ca1a2cf34d7cb4923 - lookup boundtest.c via VPATH (for out-of-tree build) - test[123]b?: fail on diff error - Windows: test3 now works (from e31579b0769e1f9c0947d12e83316d1149307b1a) - abitest: a libtcc.a made by gcc is not usable for tcc on WIndows - using source instead (libtcc.c) - tccpe: - avoid gcc warning (x86_64)
* Various Makefile fixes for cross-compilationThomas Preud'homme2014-01-091-4/+5
| | | | | | - Build libtcc1 for cross-compiler on arm (arm to X cross compilers) - Install libtcc1 and includes for arm to i386 cross compiler - Add basic check of cross-compilers (compile ex1.c)
* Use GNU triplet prefix for cross tcc compilersThomas Preud'homme2014-01-081-10/+24
| | | | | Compatibility symlinks are put in place in case some script were relying on former names except for CMake since it was added after last release.
* Explicit that EABI only supports VFP for nowThomas Preud'homme2014-01-071-1/+1
|
* fixed permissions for install on UnixVincent Lefevre2014-01-071-3/+3
| | | | Signed-off-by: Vincent Lefevre <vincent@vinc17.net>
* misc. fixesgrischka2014-01-061-3/+0
| | | | | | | | | | | | | | | | | | | | | | - tccgen: error out for cast to void, as in void foo(void) { return 1; } This avoids an assertion failure in x86_64-gen.c, also. also fix tests2/03_struct.c accordingly - Error: "memory full" - be more specific - Makefiles: remove circular dependencies, lookup tcctest.c from VPATH - tcc.h: cleanup lib, include, crt and libgcc search paths" avoid duplication or trailing slashes with no CONFIG_MULTIARCHDIR (as from 9382d6f1a0e2d0104a82ed805207d9e742c6b068) - tcc.h: remove ";{B}" from PE search path in ce5e12c2f950052d8109b6b7a56d900547705c08 James Lyon wrote: "... I'm not sure this is the right way to fix this problem." And the answer is: No, please. (copying libtcc1.a for tests instead) - win32/build_tcc.bat: do not move away a versioned file
* Provide install-strip target in MakefileThomas Preud'homme2014-01-041-0/+3
|
* Add __clear_cache implementation in libtcc1Thomas Preud'homme2013-11-051-1/+2
| | | | Add __clear_cache function for flushing caches to libtcc1.
* Improve texi2html -> makeinfo conversionThomas Preud'homme2013-05-291-1/+1
|
* Sorted out CMake on x86-64 and fixed silly XMM# bug introduced when working ↵James Lyon2013-04-251-6/+7
| | | | | | | | | on Win64 stdargs. I removed the XMM6/7 registers from the register list because they are not used on Win64 however they are necessary for parameter passing on x86-64. I have now restored them but not marked them with RC_FLOAT so they will not be used except for parameter passing.
* Tests in abitest.c now work on Win32.James Lyon2013-04-181-2/+16
| | | | | | | I expect that Linux-x86 is probably fine. All other architectures except ARM are definitely broken since I haven't yet implemented gfunc_sret for these, although replicating the current behaviour should be straightforward.
* Fixed tests on Windows (including out-of-tree problems)James Lyon2013-04-171-0/+2
| | | | | | | | | | | Modified tcctest.c so that it uses 'double' in place of 'long double' with MinGW since this is what TCC does, and what Visual C++ does. Added an option -norunsrc to tcc to allow argv[0] to be set independently of the compiled source when using tcc -run, which allows tests that rely on the value of argv[0] to work in out-of-tree builds. Also added Makefile rules to automatically update out-of-tree build Makefiles when in-tree Makefiles have changed.
* Fixed out of tree build problem on Windows.James Lyon2013-04-171-7/+7
| | | | | | | | Some files installed are not generated so need to be copied from the source tree rather than the build tree. I also switched texi2html for makeinfo --html since texi2html is apparently unmaintained.
* add version number to manpageUrs Janssen2013-02-171-2/+2
| | | | | | | avoid c++/c99 style comments in preprocessor directives avoid leadings whitespaces in preprocessor directives mention implemented variable length arrays in documentation fixed ambiguous option in texi2html call (Austin English)
* fixed pasto in in 108b2876; background for the additional $CC test is:Urs Janssen2013-02-151-1/+1
| | | | | | | GCC_MAJOR may be set even is $CC not realy gcc (but i.e. clang, which (as of 3.1) requires an addtional CFLAG to accept the non portable (gnuisms all over the place; try to cimpile tcc with Sun^HOracle, Intel, Pathscale, ... compiler) code).
* - don't use GCC_MAJOR to see if we're not using gcc as GCC_MAJOR might be setUrs Janssen2013-02-151-0/+2
| | | | during configure even with --cc=notgcc as long as gcc is installed.
* configure: detect ARM variantsgrischka2013-02-141-33/+19
| | | | Using gnu make's variable variable-names.
* configure: pass CONFIG_xxxDIR/PATH options via commandlinegrischka2013-02-141-3/+3
| | | | | | | | | | | | | | | - except for CONFIG_SYSROOT and CONFIG_TCCDIR Strictly neccessary it is only for CONFIG_MULTIARCHDIR because otherwise if it's in config.h it is impossible to leave it undefined. But it is also nicer not to use these definitions for cross-compilers. - Also: lib/Makefile : include ../Makefile for CFLAGS lib/libtcc1.c : fix an issue compiling tcc with tcc on x64