Are you sure you need to preserve the order?  Exactly what do you intend to do with 
the unique list?

If you really need the order preserved, without testing it, try something like:

unique = $(if $(1),$(call unique,$(wordlist 2,$(words $(1)),$(1)),$(if $(filter 
$(firstword $(1)),$(2)),$(2),$(firstword $(1)) $(2))),$(2))

Noel

J.Davison de St.Germain wrote:

Hi,

I need to be able to take a list of directories and remove the duplicates without sorting the list. For example, if I have "-L/abc/lib -L/def/lib -L/abc/lib" I would like to get back "-L/abc/lib -L/def/lib". I would like to do this within make so that I don't have to call a bunch of shell functions. I've talked to a number of other gmake makefile writers and they agree that this would be very helpful. Is there such a function in make? (Like $(unique list) or some such?) If not, has someone well versed in functional programming put together a bunch of filter/foreach/search/etc functions to do this? Any help on this would be greatly appreciated. Also, if you know of a better location to send this request to, please let me know.

    Sincerely,
              J. Davison de St. Germain

PS. My search of the mailing list archive only gave me one hit and that was to use sort. As I mention above, I need the list to stay in the same order. Thanks!

-----------------------------------------------------------------------
- J. Davison de St. Germain         [EMAIL PROTECTED]    (801) 581-4078 -
- Chief Software Engineer           http://www.cs.utah.edu/~dav       -
- SCI Institute, SE C-SAFE          University of Utah                -
-----------------------------------------------------------------------



_______________________________________________
Help-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/help-make



_______________________________________________
Help-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/help-make

Reply via email to