Commit graph

183 commits

Author SHA1 Message Date
matthiaskrgr
8e122d78be Makefile: split up 'make gource' into 'make gource' (render only) and 'make gource-record' (record using ffmpeg) 2013-03-27 19:50:39 +01:00
Dale Weiler
1b02a5204a Cross architecture stuff for distro build scripts. If you have an x86_64 capable system with a compiler and make (the OS doesn't even matter), simply changing to "distro" directory and typing "make" is sufficent to make archlinux i686/x86_64, and debian i686/x86_64 packages. 2013-03-21 02:02:41 +00:00
Dale Weiler
66b5cf29ba While we're at it, fix that one too. 2013-03-15 22:56:45 +00:00
Dale Weiler
6a0f9d3cb2 *sigh* 2013-03-15 22:56:09 +00:00
Dale Weiler
11255058cf SPACES PEOPLE 2013-03-15 22:53:00 +00:00
Dale Weiler
dfca3743f9 Added gource rule to makefile 2013-03-15 22:51:40 +00:00
Dale Weiler
cbeac3e5f2 Implemented smart intrinsic / builtin system. When you use trivial math functions like "pow", if they don't exist as a builtin, the compiler will implement its own versions, likewise, if a compiler builtin depends on a function that exists, it will use it, likewise if it doesn't it will implement it. If you explicitally use __builtin_ (prefixed) versions, the compiler again will select the best option it can, be it a combination of both builtins and compiler builtins, all compiler builtins, OR, all builtins (most performant). 2013-03-09 08:53:39 +00:00
Dale Weiler
d3c7b6fb39 Implement exponentiation operator ** as well as __builtin_pow (used for exponentiation operator). Use of exponentiation operator with constants results in const folded (precomputed at compile time exponentiation), otherwise runtime exponentiation with some clever loops (slow!). 2013-03-07 21:31:19 +00:00
Dale Weiler
9f06e0e017 Print the number for the test itself in the test-suite. The log10 can be improved. 2013-02-25 10:01:36 +00:00
Dale Weiler
e4554892b0 Oops 2013-02-08 19:07:12 +00:00
Dale Weiler
e4075916f0 depend rule for $(OBJ_P) PAK utility. 2013-02-08 16:45:05 +00:00
Dale Weiler
ac8f510dac Added $(PAK) to Makefile for clean rule. 2013-02-08 16:42:43 +00:00
Dale Weiler
eabb92f7b4 A command line interface for the PAK utility, made it a seperate build target too. 2013-02-08 16:32:15 +00:00
Dale Weiler
8d59d7029d Cleanup cargocult directory and file specific things, to fs.c (renamed file.c which also contains directory handling stuff). Also cleaned up some stuff, and added proper end comments to conditional inclusion stuff. 2013-02-08 12:06:59 +00:00
Dale Weiler
86df8c8a78 Work in progress PAK extractor/insterter. 2013-02-07 16:22:47 +00:00
Dale Weiler
d1f4b108a0 Update makefile 2013-02-06 10:54:14 +00:00
Dale Weiler
a1fac66587 Added definition file for test-suite, used by default by the test system. To override the defs globally, use -defs=file from the command line for the test-suite. To override the defs per-file, use F: -no-defs flag in the test template file. 2013-01-30 08:04:56 +00:00
Dale Weiler
9fffb3441c Older clang had -Wmissing-variable-declarations, which causes a heap of warnings, we disable it, because it's a stupid warning. However, because it's unsupported in newer clang, disabling it causes a warning, so we need to -Wno-unknown-warning-option. *sigh* 2013-01-30 06:52:36 +00:00
Dale Weiler
480b2fc7b6 Added documentation to all options inside the binary itself. These will be used later for "man/nroff -man"-like documentation on OSs that lack "man" and the concept of system wide documentation. Also it will be nice to add -Wsome_warning help (to get some help about a specific warning/error, etc). 2013-01-30 02:56:58 +00:00
Dale Weiler
a94d2fee4e Fixes, updates, and added uninstall target for makefile 2013-01-27 07:45:49 +00:00
Wolfgang Bumiller
a8d5504445 fixing manpage permissions 2013-01-17 23:22:38 +01:00
Dale Weiler
0da4626417 will warn about "check" no such file or directory (since it aliases in the rule for the Makefile) 2013-01-10 20:28:53 +00:00
Wolfgang Bumiller
16ccaffc3f checking if git even is available 2013-01-10 16:13:47 +01:00
Wolfgang Bumiller
7a5a328c54 --version now prints GMQCC_GITINFO, which is not not defined in gmqcc.h to some empty string, it just won't exist in release builds 2013-01-10 16:07:33 +01:00
Dale Weiler
54c8801bec Merge branch 'master' of github.com:graphitemaster/gmqcc 2013-01-07 12:40:03 +00:00
Dale Weiler
d8ae1cb3e9 Move splint.sh into the Makefile 2013-01-07 12:39:33 +00:00
Wolfgang Bumiller
99249c8fa3 Guard 2 peephole optimizations which should only work on the currently-last instruction by a check if it's actually really at the end... 2013-01-07 00:22:54 +01:00
Dale Weiler
985a177288 Pipe stderr from makedepend for depend rule in makefile to /dev/null 2013-01-06 15:27:39 +00:00
Dale Weiler
ecb83404ab Add test alias to check for make file 2013-01-06 15:12:46 +00:00
Dale Weiler
8ac6bcdad7 Add splint rule to makefile 2013-01-06 12:43:46 +00:00
Dale Weiler
3fa771f51d Leave a space here for makedepend 2013-01-06 10:56:25 +00:00
Dale Weiler
4afe61060d Add a "depend" rule for the makefile. It uses makedepend to generate dependinces that are catted to the current Makefile. 2013-01-06 10:55:22 +00:00
Dale Weiler
6f5a20e76b Use -O2 by default 2013-01-06 10:29:29 +00:00
Dale Weiler
d97e032fcf Cleanups and add the corrector to the makefile. Starting integration with the parser. 2013-01-04 10:05:41 +00:00
Wolfgang Bumiller
14593ce789 Makefile: ftepp.o: lexer.h 2013-01-02 15:05:52 +01:00
Wolfgang Bumiller
e37adb8c47 GMQCC_GITINFO 2012-12-28 20:39:30 +01:00
Dale Weiler
566dda6ad7 Working on getting gmqcc to work when compiled with tcc 2012-12-28 09:30:01 +00:00
Dale Weiler
a7724bffaa Reorder operands 2012-12-28 09:06:04 +00:00
Dale Weiler
dbb7a87fd8 Quoting of strings is forbid in some "make" implementations 2012-12-28 09:05:14 +00:00
Dale Weiler
cfa7119fdb Got it working on arm :) 2012-12-28 08:59:41 +00:00
Dale Weiler
ba25970f27 Always use -fsigned-char .. The compiler I was using had -funsigned-char by default on ARM (which was breaking everything ...) try it .. add -funsigned-char and run the test-suite (only 2 out of all the tests actually pass, and it's by fluke) 2012-12-28 08:52:13 +00:00
Wolfgang Bumiller
33c7707f56 adding -fno-strict-aliasing 2012-12-26 19:58:53 +01:00
Wolfgang Bumiller
84fcd95d4e utf8lib.c -> utf8.c - I hope windows 8 allows this filename :P 2012-12-23 10:44:03 +01:00
Wolfgang Bumiller
fe3d8e44e6 Importing utf8lib 2012-12-23 10:23:41 +01:00
Dale Weiler
6bc29a1601 Merge branch 'master' of github.com:graphitemaster/gmqcc 2012-12-23 06:06:57 +00:00
Dale Weiler
13003bf6af Wrapper around FILE to take advantage of MSVC "secure" CRT. We don't actually defend bounds checks (we just hack in the few ones to silent MSVC .. and to pass WinRT "native code" rules) 2012-12-23 06:05:22 +00:00
Wolfgang Bumiller
aef7ff87fc Makefile: lexer.o depends on lexer.h 2012-12-22 20:43:59 +01:00
Dale Weiler
fa401b6f56 Cleanups and make compile with clang again with no warnings. 2012-12-22 08:22:50 +00:00
Wolfgang Bumiller
145c011247 Fix object dependency: OBJ -> OBJ_D so they all depend on gmqcc.h again properly 2012-12-20 16:28:35 +01:00
Wolfgang Bumiller
5d51930adf Oh god I hate this so much 2012-12-20 15:45:15 +01:00
Dale Weiler
2e57a952a7 No more hacks 2012-12-20 10:20:16 +00:00
Dale Weiler
148f7babcd *sigh* 2012-12-20 08:51:29 +00:00
Dale Weiler
199540e6ca Allow uname override 2012-12-20 08:49:14 +00:00
Dale Weiler
3e8435783c More fixes 2012-12-20 08:45:54 +00:00
Dale Weiler
0648835061 handle cygwin/mingw for makefile 2012-12-20 00:22:22 +00:00
Wolfgang (Blub) Bumiller
8cd94192d8 default make target now is 'all' 2012-12-18 16:58:21 +01:00
Wolfgang (Blub) Bumiller
259aaad324 make install-doc now also installs qcvm.q 2012-12-18 16:03:48 +01:00
Dale Weiler
4b3e2571af Cleanups of compiler option configuration. Added ini/cfg parser system as well. 2012-12-18 04:57:17 +00:00
Wolfgang (Blub) Bumiller
f7bc1dca08 Revert "Not defining GMQCC_VERSION_ in gmqcc.h but checking if they're defiend and #error if not - they're set in the Makefile - please fix windows builds"
This reverts commit a473979cf5.

-- because visual studio sucks
2012-12-17 16:46:03 +01:00
Wolfgang (Blub) Bumiller
a473979cf5 Not defining GMQCC_VERSION_ in gmqcc.h but checking if they're defiend and #error if not - they're set in the Makefile - please fix windows builds 2012-12-17 16:30:07 +01:00
Wolfgang (Blub) Bumiller
362d822e18 Adding an 'install-doc' target to the Makefile, which is included by the 'install' target and uses MANDIR, which defaults to DATADIR/man, and DATADIR defaults to PREFIX/share 2012-12-06 18:57:56 +01:00
Dale Weiler
d43a6c50d4 Hide execution call to testsuite with @ in Makefile 2012-12-02 23:58:13 +00:00
Wolfgang (Blub) Bumiller
a9a41a786e Adding opts.def as dep to everything which has gmqcc.h as dep 2012-11-30 18:21:14 +01:00
Dale Weiler
46fff99fad ast_binstore_codegen initialize left ir value to null for output left side used for lvalue to prevent clang from warning. Also fixed uninitialized bug in hashtable implementation 2012-11-23 06:26:19 +00:00
Dale Weiler
9e3399df19 Implemented hashtable as-per Blubs request 2012-11-23 06:12:01 +00:00
Dale Weiler
02a933b808 Wall was already there, changed pedantic, into pedantic-errors 2012-11-23 02:31:02 +00:00
Dale Weiler
b5507b3127 Make it compile with -Wall and -pedantic 2012-11-23 02:23:22 +00:00
Wolfgang (Blub) Bumiller
a4198fc27e Fixing the makefile - stop adding pointless defaults 2012-11-22 23:11:29 +01:00
Dale Weiler
fcc57a1185 Fix memory leaks 2012-11-22 21:38:14 +00:00
Dale Weiler
59e81eeb7f Remove some disabled warnings from the makefile 2012-11-22 20:46:38 +00:00
Dale Weiler
baf69f3725 Fix more warnings 2012-11-22 20:32:08 +00:00
Dale Weiler
ec50d8508e Make blub happy 2012-11-21 20:31:41 +00:00
Dale Weiler
e7917d3225 Make makefile runtest rule depend on all to be built 2012-11-21 20:27:41 +00:00
Dale Weiler
61fa54318c Merge branch 'master' into test-suite
Conflicts:
	Makefile
	ir.c
2012-11-19 02:13:46 +00:00
Wolfgang (Blub) Bumiller
79abe3fb6d Merge branch 'master' into ftepp 2012-11-17 11:34:00 +01:00
Dale Weiler
d1fd7d044b Merge branch 'master' into test-suite
Conflicts:
	Makefile
2012-11-17 10:02:21 +00:00
Dale Weiler
227c85ba4e More makefile changes 2012-11-17 10:00:55 +00:00
Wolfgang (Blub) Bumiller
852b2b91d2 install targets 2012-11-17 11:00:32 +01:00
Dale Weiler
990dcb106a Merge branch 'master' into test-suite
Conflicts:
	Makefile
2012-11-17 09:56:48 +00:00
Wolfgang (Blub) Bumiller
6333130537 Temporary list of dependencies for objects 2012-11-17 10:46:23 +01:00
Dale Weiler
0dc4febb91 New test-suite initial implementation. Just need to write some tests. 2012-11-17 02:54:30 +00:00
Wolfgang (Blub) Bumiller
07ca2e6407 importing initial ftepp.c; -E option now executes the preprocessor 2012-11-16 16:57:59 +01:00
Wolfgang (Blub) Bumiller
9d57cf2774 Removing old make rules for ir/ast tests in deleted test/ dir 2012-11-16 16:42:30 +01:00
Dale Weiler
0b8da9eeb4 Some more changes: added redirout/redirerr command line options 2012-11-15 03:38:20 +00:00
Dale Weiler
2e84cc0b41 Use new console system everywhere. 2012-11-15 00:28:46 +00:00
Wolfgang (Blub) Bumiller
84088cb5f0 Merging in new-syntax 2012-11-14 21:39:16 +01:00
Dale Weiler
f0750209b7 preliminary segregated console subsystem 2012-11-14 19:17:43 +00:00
Wolfgang (Blub) Bumiller
1fa67577e0 Removed -O3 from Makefile again 2012-11-11 11:52:05 +01:00
Dale Weiler
9ad35a2817 Remove execloop.h, we still use xmacros, but it's done with #include __FILE__ trickery. Please do not kill me, it doesn't look that bad, conditional compilation is even used in eglibc like this :P 2012-11-10 20:53:37 +00:00
Wolfgang (Blub) Bumiller
bf256abd66 Delete the test preprocess.c file and get the use/build part out of main.c/Makefile 2012-11-02 18:59:21 +01:00
Wolfgang (Blub) Bumiller
a3791b3f51 Finishing the preprocessing flag for the lexer, added preprocess.c to test it 2012-11-02 18:34:14 +01:00
Wolfgang (Blub) Bumiller
984d8e7adc link with $(LIBS), so on linux you can easily add -lrt without changing the Makefile 2012-10-02 15:35:31 +02:00
Wolfgang (Blub) Bumiller
ab440743eb on linux we need -lm for sqrt 2012-08-23 10:24:41 +02:00
Wolfgang (Blub) Bumiller
5275bdb35e make track=no adds -DNOTRACK WARNING: do not compile only parts of the code with that... it would cause major breakage 2012-08-22 12:38:16 +02:00
Wolfgang (Blub) Bumiller
fd835931af Removing -std=c90, which was just used to make sure things stayed portable 2012-08-22 11:49:46 +02:00
Wolfgang (Blub) Bumiller
5da30a46d1 let test_ast compile again 2012-08-21 12:03:34 +02:00
Wolfgang (Blub) Bumiller
579ac3dd5d Working towards a saner error-output system, adding -Werror 2012-08-14 11:34:07 +02:00
Wolfgang Bumiller
b76ffe8304 Merging master with newly merged executor 2012-07-27 19:17:03 +02:00
Wolfgang Bumiller
9b6598f049 Copying my old lexer 2012-07-16 13:59:10 +02:00
Wolfgang Bumiller
0d1b790bb1 Updating makefile to remove all the not yet used stuff 2012-07-16 12:27:21 +02:00