Mercurial > hg > Members > kono > nitros9-code
annotate rules.mak @ 2857:d5220b220313 lwtools-port
Makefiles: Use native cp for copying dsk images
The "os9 copy" is not able to do this on Cygwin,
and is not the right tool for the job anyway.
Thanks to Bob Devries for reporting this issue!
author | Tormod Volden <debian.tormod@gmail.com> |
---|---|
date | Sat, 13 Jul 2013 11:53:36 +0200 |
parents | 84d284e812cd |
children | 28ed72477814 |
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 |
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
15 NOS9MAJ = 2 |
2183 | 16 NOS9MIN = 9 |
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 |
2183 | 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 |
1754
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
27 ifndef NITROS9DIR |
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
28 NITROS9DIR = $(HOME)/nitros9 |
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
29 endif |
1771 | 30 ifndef CLOUD9DIR |
31 CLOUD9DIR = $(HOME)/cloud9 | |
32 endif | |
33 | |
34 C9 = $(CLOUD9DIR) | |
1760
27e85b681dab
Fixed DEFS issue in 6809l2 and 6309l2 (thanks Rodney!)
boisy
parents:
1759
diff
changeset
|
35 DEFSDIR = $(NITROS9DIR)/defs |
1754
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
36 DSKDIR = $(NITROS9DIR)/dsks |
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
37 |
299
ce65a48362d5
Added BASE macro, o2u/d2u now execute relative to hosttools
boisy
parents:
224
diff
changeset
|
38 |
0 | 39 # If we're using the OS-9 emulator and the *real* OS-9 assembler, |
40 # uncomment the following two lines. | |
41 #AS = os9 /mnt2/src/ocem/os9/asm | |
42 #ASOUT = o= | |
43 | |
44 # Use the cross assembler | |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
45 #AS = os9asm -i=$(DEFSDIR) |
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
|
46 AS = lwasm --6309 --format=os9 --pragma=pcaspcr,nosymbolcase,condundefzero,undefextern,dollarnotlocal --includedir=. --includedir=$(DEFSDIR) |
2819
c3ebfd514c0b
Fixed an issue where Z* descriptors weren't being made correctly for level 2.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2811
diff
changeset
|
47 ASROM = lwasm --6309 --format=raw --pragma=pcaspcr,nosymbolcase,condundefzero,undefextern,dollarnotlocal --includedir=. --includedir=$(DEFSDIR) |
c3ebfd514c0b
Fixed an issue where Z* descriptors weren't being made correctly for level 2.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2811
diff
changeset
|
48 ASBIN = lwasm --6309 --format=decb --pragma=pcaspcr,nosymbolcase,condundefzero,undefextern,dollarnotlocal --includedir=. --includedir=$(DEFSDIR) |
1528 | 49 ASOUT = -o |
2664
09feb97c181f
Initial changes to use lwasm instead of mamou
William Astle <lost@l-w.ca>
parents:
2512
diff
changeset
|
50 AFLAGS = -DNOS9VER=$(NOS9VER) -DNOS9MAJ=$(NOS9MAJ) -DNOS9MIN=$(NOS9MIN) -DNOS9DBG=$(NOS9DBG) |
2055 | 51 ifdef PORT |
2664
09feb97c181f
Initial changes to use lwasm instead of mamou
William Astle <lost@l-w.ca>
parents:
2512
diff
changeset
|
52 AFLAGS += -D$(PORT)=1 |
2055 | 53 endif |
0 | 54 |
1879 | 55 # RMA/RLINK |
2810
7dbdaa3a7d6c
Removed case related pragma so that inetd assembles correctly
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2799
diff
changeset
|
56 ASM = lwasm --6309 --format=obj --pragma=pcaspcr,condundefzero,undefextern,dollarnotlocal,export --includedir=. |
2789
3012d4990f57
Added --format=os9 to lwlink rule
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2787
diff
changeset
|
57 LINKER = lwlink --format=os9 |
2852
f2e92661b4c6
Makefiles: Always use macro for lwar and rm
Tormod Volden <debian.tormod@gmail.com>
parents:
2819
diff
changeset
|
58 LWAR = lwar -c |
1879 | 59 |
0 | 60 # Commands |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
61 MAKDIR = os9 makdir |
224 | 62 RM = rm -f |
0 | 63 MERGE = cat |
1654
f62ca34d4419
Level 2: shellplus stand-alone file is no longer copied to CMDS
boisy
parents:
1593
diff
changeset
|
64 MOVE = mv |
2855
e126b9acab32
rules.mak: Do not hardcode path for "echo"
Tormod Volden <debian.tormod@gmail.com>
parents:
2852
diff
changeset
|
65 ECHO = echo |
331 | 66 CD = cd |
2857
d5220b220313
Makefiles: Use native cp for copying dsk images
Tormod Volden <debian.tormod@gmail.com>
parents:
2856
diff
changeset
|
67 CP = cp |
2856
84d284e812cd
Makefiles: Rename CP to OS9COPY
Tormod Volden <debian.tormod@gmail.com>
parents:
2855
diff
changeset
|
68 OS9COPY = os9 copy -o=0 |
84d284e812cd
Makefiles: Rename CP to OS9COPY
Tormod Volden <debian.tormod@gmail.com>
parents:
2855
diff
changeset
|
69 CPL = $(OS9COPY) -l |
331 | 70 TAR = tar |
0 | 71 CHMOD = chmod |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
72 IDENT = os9 ident |
331 | 73 IDENT_SHORT = $(IDENT) -s |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
74 #UNIX2OS9 = u2o |
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
75 #OS92UNIX = o2u |
2770
bfe3de781ddf
Added Arduino dwread/dwwrite changes
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2724
diff
changeset
|
76 OS9FORMAT = os9 format -e |
bfe3de781ddf
Added Arduino dwread/dwwrite changes
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2724
diff
changeset
|
77 OS9FORMAT_SS35 = os9 format -e -t35 -ss -dd |
bfe3de781ddf
Added Arduino dwread/dwwrite changes
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2724
diff
changeset
|
78 OS9FORMAT_SS40 = os9 format -e -t40 -ss -dd |
bfe3de781ddf
Added Arduino dwread/dwwrite changes
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2724
diff
changeset
|
79 OS9FORMAT_SS80 = os9 format -e -t80 -ss -dd |
bfe3de781ddf
Added Arduino dwread/dwwrite changes
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2724
diff
changeset
|
80 OS9FORMAT_DS40 = os9 format -e -t40 -ds -dd |
bfe3de781ddf
Added Arduino dwread/dwwrite changes
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2724
diff
changeset
|
81 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
|
82 OS9FORMAT_DW = os9 format -t1024 -ss -dd |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
83 OS9GEN = os9 gen |
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
84 OS9RENAME = os9 rename |
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
85 OS9ATTR = os9 attr -q |
1126 | 86 OS9ATTR_TEXT = $(OS9ATTR) -npe -npw -pr -ne -w -r |
87 OS9ATTR_EXEC = $(OS9ATTR) -pe -npw -pr -e -w -r | |
1803
6b0d1027e4e0
Removed NITROS9VERSION, NITROS9MAJOR, NITROS9MINOR environment vars from
boisy
parents:
1787
diff
changeset
|
88 PADROM = os9 padrom |
331 | 89 MOUNT = sudo mount |
90 UMOUNT = sudo umount | |
2855
e126b9acab32
rules.mak: Do not hardcode path for "echo"
Tormod Volden <debian.tormod@gmail.com>
parents:
2852
diff
changeset
|
91 LOREMOVE = sudo losetup -d |
e126b9acab32
rules.mak: Do not hardcode path for "echo"
Tormod Volden <debian.tormod@gmail.com>
parents:
2852
diff
changeset
|
92 LOSETUP = sudo losetup |
331 | 93 LINK = ln |
94 SOFTLINK = $(LINK) -s | |
2774
1868fbf470e7
Merged lwtools-port (2773:ce3dba57003b) and mainline (2772:0a3f4d8ea6d5)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2770
diff
changeset
|
95 ARCHIVE = zip -D -9 -j |
2512 | 96 MKDSKINDEX = $(NITROS9DIR)/3rdparty/utils/aaw/mkdskindex |
0 | 97 |
355 | 98 # Directories |
1754
9092b25eeb4c
rules.mak now uses environment variables as an alternative for placement of
boisy
parents:
1729
diff
changeset
|
99 3RDPARTY = $(NITROS9DIR)/3rdparty |
2052 | 100 LEVEL1 = $(NITROS9DIR)/level1 |
101 LEVEL2 = $(NITROS9DIR)/level2 | |
2352 | 102 LEVEL3 = $(NITROS9DIR)/level3 |
2774
1868fbf470e7
Merged lwtools-port (2773:ce3dba57003b) and mainline (2772:0a3f4d8ea6d5)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2770
diff
changeset
|
103 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
|
104 CC68L1 = $(LEVEL1)/coco1 |
2377 | 105 CC368L2 = $(LEVEL2)/coco3 |
106 CC363L2 = $(LEVEL2)/coco3_6309 | |
107 CC363L3 = $(LEVEL3)/coco3_6309 | |
355 | 108 |
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
|
109 # 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
|
110 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
|
111 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
|
112 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
|
113 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
|
114 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
|
115 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
|
116 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
|
117 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
|
118 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
|
119 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
|
120 |
5a3acdd1c7d6
Updated level1/coco1/modules/makefile , level2/coco3/modules/makefile , & rules.mak for missing values for drive descriptors.
drencor-xeen
parents:
2789
diff
changeset
|
121 |
1865 | 122 # C-Cubed Rules |
2783
03f26e88b809
Renamed files and setup for lwasm/lwlink work
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2782
diff
changeset
|
123 %.o: %.c |
1865 | 124 $(CC) $(CFLAGS) $< -r |
125 | |
2783
03f26e88b809
Renamed files and setup for lwasm/lwlink work
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2782
diff
changeset
|
126 %.a: %.o |
2782
aaba193af04f
Updated code to use lwasm/lwlink
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2774
diff
changeset
|
127 lwar -c $@ $? |
1879 | 128 |
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
|
129 %: %.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
|
130 $(LINKER) $(LFLAGS) $^ -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
|
131 |
2783
03f26e88b809
Renamed files and setup for lwasm/lwlink work
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2782
diff
changeset
|
132 %: %.a |
2782
aaba193af04f
Updated code to use lwasm/lwlink
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2774
diff
changeset
|
133 $(LINKER) $(LFLAGS) $^ -o$@ |
1865 | 134 |
2783
03f26e88b809
Renamed files and setup for lwasm/lwlink work
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2782
diff
changeset
|
135 %.o: %.as |
2782
aaba193af04f
Updated code to use lwasm/lwlink
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2774
diff
changeset
|
136 $(ASM) $< -o$@ |
1865 | 137 |
0 | 138 # File managers |
139 %.mn: %.asm | |
140 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
141 | |
142 # Device drivers | |
143 %.dr: %.asm | |
144 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
145 | |
146 # Device descriptors | |
147 %.dd: %.asm | |
148 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
149 | |
1257 | 150 # Subroutine modules |
151 %.sb: %.asm | |
152 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
153 | |
0 | 154 # Window device descriptors |
155 %.dw: %.asm | |
156 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
157 | |
158 # Terminal device descriptors | |
159 %.dt: %.asm | |
160 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
161 | |
162 # I/O subroutines | |
163 %.io: %.asm | |
164 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
165 | |
166 # All other modules | |
167 %: %.asm | |
168 $(AS) $(AFLAGS) $< $(ASOUT)$@ | |
169 |