Mercurial > hg > Members > kono > nitros9-code
annotate rules.mak @ 3220:9ccec98c9897
Updated IDE Driver makefile so it will have place holders for
dsk, dskclean, and dskcopy so that make does not error out when
chaining into the driver tree to build disk images where applicable.
author | David Ladd <drencor-xeen@users.sourceforge.net> |
---|---|
date | Wed, 20 Dec 2017 16:10:50 -0600 |
parents | 7c917d36ea68 |
children | acc88096a696 |
rev | line source |
---|---|
1393 | 1 # The NitrOS-9 Project |
2 # Project-Wide Rules | |
0 | 3 |
1754
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
4 # Environment variables are now used to specify any directories other |
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
5 # than the defaults below: |
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
6 # |
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
7 # NITROS9DIR - base directory of the NitrOS-9 project on your system |
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
8 # |
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
9 # If the defaults below are fine, then there is no need to set any |
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
10 # environment variables. |
331 | 11 |
12 | |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
13 # NitrOS-9 version, major and minor release numbers are here |
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
14 NOS9VER = 3 |
2990
4dc310549cdf
Bump version to 3.3.0 and prepare for release build
Tormod Volden <debian.tormod@gmail.com>
parents:
2962
diff
changeset
|
15 NOS9MAJ = 3 |
4dc310549cdf
Bump version to 3.3.0 and prepare for release build
Tormod Volden <debian.tormod@gmail.com>
parents:
2962
diff
changeset
|
16 NOS9MIN = 0 |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
17 |
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
18 # Set this to 1 to turn on "DEVELOPMENT" message in sysgo |
2992
1d9ec36546c0
rules.mak: Mark as development version again
Tormod Volden <debian.tormod@gmail.com>
parents:
2990
diff
changeset
|
19 NOS9DBG = 1 |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
20 |
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
21 #################### DO NOT CHANGE ANYTHING BELOW THIS LINE #################### |
1787 | 22 |
1865 | 23 CC = c3 |
24 | |
1805 | 25 NITROS9VER = v0$(NOS9VER)0$(NOS9MAJ)0$(NOS9MIN) |
1787 | 26 |
1760
27e85b681dab
Fixed DEFS issue in 6809l2 and 6309l2 (thanks Rodney!)
boisy
parents:
1759
diff
changeset
|
27 DEFSDIR = $(NITROS9DIR)/defs |
1754
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
28 DSKDIR = $(NITROS9DIR)/dsks |
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
29 |
299
ce65a48362d5
Added BASE macro, o2u/d2u now execute relative to hosttools
boisy
parents:
224
diff
changeset
|
30 |
0 | 31 # If we're using the OS-9 emulator and the *real* OS-9 assembler, |
32 # uncomment the following two lines. | |
33 #AS = os9 /mnt2/src/ocem/os9/asm | |
34 #ASOUT = o= | |
35 | |
36 # Use the cross assembler | |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
37 #AS = os9asm -i=$(DEFSDIR) |
3134
afd35e662b2b
Use lwtools noforwardrefmax pragma by default
Neal Crook <foofoobedoo@gmail.com>
parents:
2992
diff
changeset
|
38 AS = lwasm --6309 --format=os9 --pragma=pcaspcr,nosymbolcase,condundefzero,undefextern,dollarnotlocal,noforwardrefmax --includedir=. --includedir=$(DEFSDIR) |
afd35e662b2b
Use lwtools noforwardrefmax pragma by default
Neal Crook <foofoobedoo@gmail.com>
parents:
2992
diff
changeset
|
39 ASROM = lwasm --6309 --format=raw --pragma=pcaspcr,nosymbolcase,condundefzero,undefextern,dollarnotlocal,noforwardrefmax --includedir=. --includedir=$(DEFSDIR) |
afd35e662b2b
Use lwtools noforwardrefmax pragma by default
Neal Crook <foofoobedoo@gmail.com>
parents:
2992
diff
changeset
|
40 ASBIN = lwasm --6309 --format=decb --pragma=pcaspcr,nosymbolcase,condundefzero,undefextern,dollarnotlocal,noforwardrefmax --includedir=. --includedir=$(DEFSDIR) |
1528 | 41 ASOUT = -o |
2954
43588191b624
rules.mak: Generate assembly listings if LISTDIR is defined
Tormod Volden <debian.tormod@gmail.com>
parents:
2948
diff
changeset
|
42 ifdef LISTDIR |
43588191b624
rules.mak: Generate assembly listings if LISTDIR is defined
Tormod Volden <debian.tormod@gmail.com>
parents:
2948
diff
changeset
|
43 ASOUT = --list=$(LISTDIR)/$@.lst --symbols -o |
43588191b624
rules.mak: Generate assembly listings if LISTDIR is defined
Tormod Volden <debian.tormod@gmail.com>
parents:
2948
diff
changeset
|
44 endif |
2664
09feb97c181f
Initial changes to use lwasm instead of mamou
William Astle <lost@l-w.ca>
parents:
2512
diff
changeset
|
45 AFLAGS = -DNOS9VER=$(NOS9VER) -DNOS9MAJ=$(NOS9MAJ) -DNOS9MIN=$(NOS9MIN) -DNOS9DBG=$(NOS9DBG) |
2055 | 46 ifdef PORT |
2664
09feb97c181f
Initial changes to use lwasm instead of mamou
William Astle <lost@l-w.ca>
parents:
2512
diff
changeset
|
47 AFLAGS += -D$(PORT)=1 |
2055 | 48 endif |
0 | 49 |
1879 | 50 # RMA/RLINK |
3134
afd35e662b2b
Use lwtools noforwardrefmax pragma by default
Neal Crook <foofoobedoo@gmail.com>
parents:
2992
diff
changeset
|
51 ASM = lwasm --6309 --format=obj --pragma=pcaspcr,condundefzero,undefextern,dollarnotlocal,noforwardrefmax,export --includedir=. --includedir=$(DEFSDIR) |
2789
3012d4990f57
Added --format=os9 to lwlink rule
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2787
diff
changeset
|
52 LINKER = lwlink --format=os9 |
2852
f2e92661b4c6
Makefiles: Always use macro for lwar and rm
Tormod Volden <debian.tormod@gmail.com>
parents:
2819
diff
changeset
|
53 LWAR = lwar -c |
1879 | 54 |
0 | 55 # Commands |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
56 MAKDIR = os9 makdir |
224 | 57 RM = rm -f |
0 | 58 MERGE = cat |
1654
f62ca34d4419
Level 2: shellplus stand-alone file is no longer copied to CMDS
boisy
parents:
1593
diff
changeset
|
59 MOVE = mv |
2855
e126b9acab32
rules.mak: Do not hardcode path for "echo"
Tormod Volden <debian.tormod@gmail.com>
parents:
2852
diff
changeset
|
60 ECHO = echo |
331 | 61 CD = cd |
2869
cfa6222348f7
makefiles: Separate OS9COPY and CP macros
Tormod Volden <debian.tormod@gmail.com>
parents:
2766
diff
changeset
|
62 CP = cp |
cfa6222348f7
makefiles: Separate OS9COPY and CP macros
Tormod Volden <debian.tormod@gmail.com>
parents:
2766
diff
changeset
|
63 OS9COPY = os9 copy -o=0 |
2856
84d284e812cd
Makefiles: Rename CP to OS9COPY
Tormod Volden <debian.tormod@gmail.com>
parents:
2855
diff
changeset
|
64 CPL = $(OS9COPY) -l |
331 | 65 TAR = tar |
0 | 66 CHMOD = chmod |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
67 IDENT = os9 ident |
331 | 68 IDENT_SHORT = $(IDENT) -s |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
69 #UNIX2OS9 = u2o |
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
70 #OS92UNIX = o2u |
2770
bfe3de781ddf
Added Arduino dwread/dwwrite changes
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2724
diff
changeset
|
71 OS9FORMAT = os9 format -e |
bfe3de781ddf
Added Arduino dwread/dwwrite changes
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2724
diff
changeset
|
72 OS9FORMAT_SS35 = os9 format -e -t35 -ss -dd |
bfe3de781ddf
Added Arduino dwread/dwwrite changes
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2724
diff
changeset
|
73 OS9FORMAT_SS40 = os9 format -e -t40 -ss -dd |
bfe3de781ddf
Added Arduino dwread/dwwrite changes
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2724
diff
changeset
|
74 OS9FORMAT_SS80 = os9 format -e -t80 -ss -dd |
bfe3de781ddf
Added Arduino dwread/dwwrite changes
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2724
diff
changeset
|
75 OS9FORMAT_DS40 = os9 format -e -t40 -ds -dd |
bfe3de781ddf
Added Arduino dwread/dwwrite changes
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2724
diff
changeset
|
76 OS9FORMAT_DS80 = os9 format -e -t80 -ds -dd |
2811
611715587834
Updated rules.mak and level1/coco1/bootfiles/makefile
David Ladd <drencor-xeen@users.sf.net>
parents:
2810
diff
changeset
|
77 OS9FORMAT_DW = os9 format -t1024 -ss -dd |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
78 OS9GEN = os9 gen |
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
79 OS9RENAME = os9 rename |
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
80 OS9ATTR = os9 attr -q |
1126 | 81 OS9ATTR_TEXT = $(OS9ATTR) -npe -npw -pr -ne -w -r |
82 OS9ATTR_EXEC = $(OS9ATTR) -pe -npw -pr -e -w -r | |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
83 PADROM = os9 padrom |
331 | 84 MOUNT = sudo mount |
85 UMOUNT = sudo umount | |
2855
e126b9acab32
rules.mak: Do not hardcode path for "echo"
Tormod Volden <debian.tormod@gmail.com>
parents:
2852
diff
changeset
|
86 LOREMOVE = sudo losetup -d |
e126b9acab32
rules.mak: Do not hardcode path for "echo"
Tormod Volden <debian.tormod@gmail.com>
parents:
2852
diff
changeset
|
87 LOSETUP = sudo losetup |
331 | 88 LINK = ln |
89 SOFTLINK = $(LINK) -s | |
2753
0199552cc6e7
Updated rules.mak so that "zip" will use the best file compression.
drencor-xeen
parents:
2743
diff
changeset
|
90 ARCHIVE = zip -D -9 -j |
3186
7c917d36ea68
Use any available perl for running mkdskindex
Bill Pierce <merlinious999@gmail.com>
parents:
3134
diff
changeset
|
91 MKDSKINDEX = perl $(NITROS9DIR)/scripts/mkdskindex |
0 | 92 |
355 | 93 # Directories |
1754
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
94 3RDPARTY = $(NITROS9DIR)/3rdparty |
2052 | 95 LEVEL1 = $(NITROS9DIR)/level1 |
96 LEVEL2 = $(NITROS9DIR)/level2 | |
2352 | 97 LEVEL3 = $(NITROS9DIR)/level3 |
2743
b44abaa5da88
Found that the lib folder was not being processed. Corrected issue.
drencor-xeen
parents:
2738
diff
changeset
|
98 NOSLIB = $(NITROS9DIR)/lib |
2799
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
99 CC68L1 = $(LEVEL1)/coco1 |
2377 | 100 CC368L2 = $(LEVEL2)/coco3 |
101 CC363L2 = $(LEVEL2)/coco3_6309 | |
102 CC363L3 = $(LEVEL3)/coco3_6309 | |
355 | 103 |
2799
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
104 # HDD Drive ID's |
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
105 ID0 = -DITDRV=0 |
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
106 ID1 = -DITDRV=1 |
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
107 ID2 = -DITDRV=2 |
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
108 ID3 = -DITDRV=3 |
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
109 ID4 = -DITDRV=4 |
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
110 ID5 = -DITDRV=5 |
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
111 ID6 = -DITDRV=6 |
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
112 ID7 = -DITDRV=7 |
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
113 SLAVE = -DITDNS=1 |
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
114 MASTER = -DITDNS=0 |
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
115 |
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
116 |
1865 | 117 # C-Cubed Rules |
2783
03f26e88b809
Renamed files and setup for lwasm/lwlink work
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2782
diff
changeset
|
118 %.o: %.c |
1865 | 119 $(CC) $(CFLAGS) $< -r |
120 | |
2783
03f26e88b809
Renamed files and setup for lwasm/lwlink work
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2782
diff
changeset
|
121 %.a: %.o |
2782
aaba193af04f
Updated code to use lwasm/lwlink
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2774
diff
changeset
|
122 lwar -c $@ $? |
1879 | 123 |
2787
28b6ec8a14d5
Added 'extern' pragam, fixed up rules.mak, changed 'section text' to 'section code' in sources
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2783
diff
changeset
|
124 %: %.o |
28b6ec8a14d5
Added 'extern' pragam, fixed up rules.mak, changed 'section text' to 'section code' in sources
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2783
diff
changeset
|
125 $(LINKER) $(LFLAGS) $^ -o$@ |
1879 | 126 |
2783
03f26e88b809
Renamed files and setup for lwasm/lwlink work
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2782
diff
changeset
|
127 %: %.a |
2782
aaba193af04f
Updated code to use lwasm/lwlink
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2774
diff
changeset
|
128 $(LINKER) $(LFLAGS) $^ -o$@ |
1865 | 129 |
2783
03f26e88b809
Renamed files and setup for lwasm/lwlink work
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2782
diff
changeset
|
130 %.o: %.as |
2948
780d05a6fab6
rules.mak: Include defs folder and use AFLAGS for object file building
Tormod Volden <debian.tormod@gmail.com>
parents:
2907
diff
changeset
|
131 $(ASM) $(AFLAGS) $< $(ASOUT)$@ |
1865 | 132 |
0 | 133 # File managers |
134 %.mn: %.asm | |
135 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
136 | |
137 # Device drivers | |
138 %.dr: %.asm | |
139 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
140 | |
141 # Device descriptors | |
142 %.dd: %.asm | |
143 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
144 | |
1257 | 145 # Subroutine modules |
146 %.sb: %.asm | |
147 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
148 | |
0 | 149 # Window device descriptors |
150 %.dw: %.asm | |
151 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
152 | |
153 # Terminal device descriptors | |
154 %.dt: %.asm | |
155 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
156 | |
157 # I/O subroutines | |
158 %.io: %.asm | |
159 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
160 | |
161 # All other modules | |
162 %: %.asm | |
163 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
164 |