Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > 64TASS makefile on Mac OS X
2010-12-24 22:38
Kaizen

Registered: May 2009
Posts: 24
64TASS makefile on Mac OS X

Hello,
currently I use for my crossdev works 64TASS and Exomizer 2 on a Mac OS X machine.
I'm trying to create a makefile in order to perform certain operations in sequence, but unfortunately I haven't familiarity with this kind of stuff so I cannot create a working one.

The operations are, for example:
64tass infile.s -o outfile.prg
exomizer sfx 2064 outfile.prg -n -o outfilexo.prg

I would like to run the makefile from Terminal to perform that.
Any suggestion?
THX. ;-)
2010-12-25 09:51
JackAsser

Registered: Jun 2002
Posts: 2014
outfile.prg: infile.s
64tass $? -o $@

outfilexo.prg: outfile.prg
exomizer sfx 2064 $? -n -o $@


But you should read up on implicit rules so that all .s files are automatically converted to .o for example.

Also remeber that u need to indent with a proper tab-character, not just spaces.
2010-12-25 10:16
Kaizen

Registered: May 2009
Posts: 24
Thank you JackAsser!

I've make some attempts starting by your way and finally I've found the working syntax:
outfile.prg: infile.s
[tab]64tass $? -o $@
[tab]exomizer sfx 2064 outfile.prg -n -o outfilexo.prg

I've got my Christmas gift! ;-)
THX.
2010-12-25 19:36
The Overkiller
Account closed

Registered: Mar 2002
Posts: 342
@Kaizen: damn Mac chauvinist :D
2010-12-25 20:37
Kaizen

Registered: May 2009
Posts: 24
@The Overkiller: as you can see, with Macs you can make very good works... more or less than with a peecee, but with much more style!!! :-p
2010-12-25 23:35
BHF
Account closed

Registered: Jan 2003
Posts: 30
And, run Linux, Windows along with the superb OSX on a wonderful shiny machine :D
2011-09-05 17:52
Kaizen

Registered: May 2009
Posts: 24
Hello, I am successfully using the makefile in the realization of my work, but there is still something that I can't do.

Usually I work in a root folder containing several subfolders, files and, importantly, the makefile.
When I work I create an hidden folder called "work"in which I'd like to run all the work, but the problem is that I can't make the makefile located in the root folder execute the commands in the sub folder "work".

Example: I create the subfolder "work" , I copy a source asm "prg.s" from the "src" subfolder to "work" subfolder but then I can't run the command "64tass prg.s -o prg.prg" in the makefile so that the source get compiled within the "work" subfolder because the makefile works at root folder level.

I tried several ways but still I can't it.
Everyone have a suggestion?
Thx. :-)
2011-09-05 18:36
Mr. SID

Registered: Jan 2003
Posts: 424
Why don't you just to this?

64tass src/prg.s -o work/prg.prg

No need to copy anything around.
2011-09-05 20:51
Kaizen

Registered: May 2009
Posts: 24
Well... I adopted the procedure to copy all files (asm source, binary and sub-makefile) in the folder "work" beacuse sometimes my assembled files include both code (placed in “src” subfolder) and segments of binary files (placed in “files” subfolder).
Do you think there is also a way to include the binary inside the asm source even if they are placed in different folders?

That way you’ve suggested above is too useful for me... if I can solve this last question I will get the right way for me. :-)
Thanks for suggestions!!!
2011-09-05 21:30
iAN CooG

Registered: May 2002
Posts: 3194
I don't know what your problem is, just specify the relative path to the files.
2011-09-05 22:10
Kaizen

Registered: May 2009
Posts: 24
Thank you! ;-)
2011-09-06 23:22
Kaizen

Registered: May 2009
Posts: 24
I tried this ...
the makefile is located in the main dir and contains the commands:
# ------------------
[TAB]mkdir -p work
# ------------------
[TAB]64tass code/"TEST.s" -o work/"TEST.PRG
# ------------------

The program TEST.s contains the directive:
[TAB].BINARY "001 B.PRG", $0002, $1000
If the file "001 B.PRG" is contained inside the main dir, all is working perfectly.
But instead if I put it in the subdir “src” and modify the source code TEST.s like this...
[TAB].BINARY src/"001 B.PRG", $0002, $0100
... I get: Can’t locate file "001 B.PRG"
I tried also other similar paths, but with no success... maybe 64tass doesn't allow path commands?
I didn't find any info in the manual about that.
2011-09-07 06:09
Mr. SID

Registered: Jan 2003
Posts: 424
Put the path inside the quotation marks:

64tass "src/TEST.s" -o "work/TEST.PRG"

and try both of these variants, one of them might work:

.BINARY "src/001 B.PRG", $0002, $0100
.BINARY "../src/001 B.PRG", $0002, $0100
2011-09-07 11:10
Kaizen

Registered: May 2009
Posts: 24
Thanks Mr. SID,
using
.BINARY "src/001 B.PRG", $0002, $0100
into the 64tass sourcefile and keeping
64tass code/"TEST.s" -o work/"TEST.PRG
into the makefile it just work well. ;-)
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
fugu/Excess
cba
CopAss/Leader
Epyx/TSA
Guests online: 107
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Original Suppliers
1 Derbyshire Ram  (9.7)
2 Fungus  (9.3)
3 Black Beard  (9.2)
4 Baracuda  (9.2)
5 hedning  (9.1)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.041 sec.