Click Here
home features news forums classifieds faqs links search
6071 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
15 crawler(s) on-line.
 40 guest(s) on-line.
 1 member(s) on-line.


 Templario

You are an anonymous user.
Register Now!
 Templario:  2 mins ago
 NutsAboutAmiga:  7 mins ago
 RobertB:  12 mins ago
 Gunnar:  14 mins ago
 GPTNederlands:  28 mins ago
 janelancy:  29 mins ago
 -Sam-:  38 mins ago
 OlafS25:  1 hr 20 mins ago
 pixie:  1 hr 21 mins ago
 Rob:  1 hr 35 mins ago

Software News   Software News : GNU make for OS4 Final
   posted by ssolie on 3-Jan-2007 17:33:59 (1717 reads)
Changes in make 3.81-5 include:
- now uses case-sensitive comparisons no matter what the underlying file system is capable of for maximum compatibility during porting (thanks Henning Nielsen Lund)
- removed workaround for shell 51.x
- removed support for AmigaOS device names; it is just impossible to parse out targets from device names (thanks Thore Böckelmann)

Grab it from OS4Depot.
    

STORYID: 3554
Related Links
· More about Software News
· News by ssolie


Most read story about Software News
UBoot 2010.06.04 for Sam460ex available

Last news about Software News
Hollywood APK Compiler 4.0 released
Printer Friendly Page  Send this Story to a Friend

PosterThread
CodeSmith 
Re: GNU make for OS4 Final
Posted on 4-Jan-2007 2:45:44
#1 ]
Elite Member
Joined: 8-Mar-2003
Posts: 3045
From: USA

Thanks for the port! Quick question:

Since amigaos device names are no longer allowed, how should I modify makefiles that refer to eg SOMEASSIGN:somedir/somefile.c?

 Status: Offline
Profile     Report this post  
ssolie 
Re: GNU make for OS4 Final
Posted on 4-Jan-2007 16:01:23
#2 ]
Elite Member
Joined: 10-Mar-2003
Posts: 2755
From: Alberta, Canada

Quote:
Since amigaos device names are no longer allowed, how should I modify makefiles that refer to eg SOMEASSIGN:somedir/somefile.c?

Yes.

I'd recommend getting rid of such assignments if you can. If not, change it to a POSIX-style path (/SOMEASSIGN/somedir/somefile.c) and avoid using AmigaOS commands which cannot deal with POSIX-style paths (e.g. cp instead of Copy) or you'll get a surprise when you use $@ and similar.

BTW, if you can think of some way to parse out AmigaOS device names from construct such as this:
dev:dir:%.c:dev:dir/%.o (note no spaces)

We could put the feature back in. The problem is some tools which automagically create makefiles don't put spaces around the colon and break only on AmigaOS so it makes porting things that much more difficult. I could add the feature back into "make" and remove it for "gmake" as well but I thought it was a hack to start with (depended on optional spaces) so why not just get rid of it.


_________________
ExecSG Team Lead

 Status: Offline
Profile     Report this post  
CodeSmith 
Re: GNU make for OS4 Final
Posted on 5-Jan-2007 3:57:03
#3 ]
Elite Member
Joined: 8-Mar-2003
Posts: 3045
From: USA

@ssolie

I'm unfamiliar with that makefile construct. Are you sure you don't mean

dev:dir/%.c:dev:dir/%.o

In that case, a left-recursive grammar to parse that (and paths without device names) could be

dependency ::= left ":" right
left ::= pattern
right ::= pattern
pattern ::= device ":" dirs-opt file
pattern ::= dirs-opt file
device ::= "a valid amigaOS device name, minus the colon. eg [a-zA-Z0-9_]+"
dirs-opt ::= "/" dir more-dirs
dirs-opt ::= dir more-dirs
dirs-opt ::= ""
more-dirs ::= "/" dirs-opt
file ::= "a valid amigaOS filename, plus % for makefile subst"

Turning the grammar into actual code is left as an exercise to the reader (NB: someone check my work, it's been a while...)

 Status: Offline
Profile     Report this post  
[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle