-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathmakefile
More file actions
132 lines (100 loc) · 2.7 KB
/
makefile
File metadata and controls
132 lines (100 loc) · 2.7 KB
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# ------------------------------------------------------------------------
# Makefile
# ------------------------------------------------------------------------
# Based in the Almake project as used in KOF91 V1.49.
# Visit http://almake.sf.net/ for almake information.
# Visit http://kof91.sf.net/ for KOF91 information.
# This file defines the tarjet platform, and is modified by fix.bat or
# fix.sh script. See it's sources.
include target.os
# Suggested by "GNU Coding Stardards"
SHELL = /bin/sh
# ===============================================
# Project name
PROJECT = Z80 Pascal
# ===============================================
# --------------------------------------
# -- Platform dependent configuration --
# --------------------------------------
# ------------------
# DOS
# ------------------
ifeq ($(TARGET),DOS)
# Platform name
PLATFORM=DOS
# Binary sufix
BINSUF = .exe
# Extra flags
EFLAGS =
# File management.
DELETE = del
COPY = xcopy
endif
# ------------------
# Windows
# ------------------
ifeq ($(TARGET),WIN)
# Platform name
PLATFORM=Windows
# Binary sufix
BINSUF = .exe
# Extra flags.
EFLAGS = -WG
# File management
# TODO: Detect MSys, Cywing and such...
DELETE = del
COPY = copy
endif
# ------------------
# Linux
# ------------------
ifeq ($(TARGET),LINUX)
# Platform name
PLATFORM=GNU/Linux
# Binary sufix
BINSUF =
# Extra flags.
EFLAGS =
# File management
DELETE = rm -rf
COPY = cp
endif
# ----------------------------
# -- Optimization specifics --
# ----------------------------
# Optimization options, including "smart linking".
OPTOPT = -O3 -Xs -XX
# Next can be used to optimize for almost any current 32bit PC with Linux or
# Windows, doing it pretty well. Of course, it will prevent your executable to
# run in anything older than PentiumIII.
# OPTOPT += -CpPENTIUM3
# Next one can be used to optimize for 64bit PC with Linux or Windows.
# OPTOPT += -CpATHLON64
# ---------------------
# -- Debug specifics --
# ---------------------
# Debugging opetions.
# Not only adds GDB information to the executable, but also tells the compiler
# to show ALL warnings and hints.
DBGOPT = -O- -gl -vh -vw
# --------------------------
# -- No platform specific --
# --------------------------
# Binary/executable name
BINARY = z80pas
# Sufix for main unit. See "makefile.list" and "makefile.all".
MAINSUF = .pp
# Directories
SRCDIR = src/compiler/
OBJDIR = obj/compiler/
BINDIR = bin/
DOCDIR = docs/src/
PFLAGS = -Mobjfpc -Sh -Si
# Optimized compilation
# FLAGS = $(OPTOPT) $(PFLAGS) $(EFLAGS)
# Use next line instead to activate debug.
FLAGS = $(DBGOPT) $(PFLAGS) $(EFLAGS)
# -- Source files list --
include makefile.list
# -- Build rules --
include makefile.all