-
-
Notifications
You must be signed in to change notification settings - Fork 18
/
make.rules
44 lines (34 loc) · 1.45 KB
/
make.rules
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# set these according to your installation
NASM=nasm
FPC=fpc
LD=ld
MKISOFS=mkisofs
RM=rm -f
RRM=rm -rf
CP=cp
# Used by all build mode:
# ELF executable target, Intel style assembler reader, allow assertions,
# labels and gotos, inline routines, and C-like operators.
# Dummy Linux target, undefines UNIX and LINUX, verbose on warnings, notes,
# hints, and infos, don't read fpc.cfg, no standard lib path
OPT=-Aelf -Rintel -Sagic -Tlinux -uUNIX -uLINUX -vwnhi -n -Xd
# Debug mode:
# NASMOPT=-g
# Emit debugging symbols, turn on all checks, smartlinkable units, use smartlinking
# If the last two aren't turned on, linker errors will occur don't know why
# FPCOPT=$(OPT) -g -Crtoi -CX -XX
# Optimized mode:
NASMOPT=
# Smartlinkable units, SSE3 instruction set, use smartlinking,
# Turn on all possible optimizations
FPCOPT=$(OPT) -CX -CfSSE3 -XXs -O3
# Not needed I guess, -O3 already enables some (if not all) of these
# -OpPENTIUM4 -OoREGVAR -OoSTACKFRAME -OoPEEPHOLE -OoASMCSE -OoLOOPUNROLL -OoTAILREC -OoCSE -OoDFA
# Will be used when releasing (when would it happen? :-( )
# -Xs
# Compiled system unit directory
SYSUNITDIR=-Fu../units/i386-fpos
# Inlude units drivers directory
#IFPC=-Fucore -Fudrivers -Fudrivers/bus -Fudrivers/hid -Fudrivers/net -Fudrivers/netdev -Fudrivers/serial -Fudrivers/speaker -Fudrivers/storage -Fudrivers/timer -Fudrivers/test
IFPC=-Fucore -Fu'drivers/*'
RTLOUTDIR=$(SYSUNITDIR) -FU../units/i386-fpos