[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
default.c - Need help in crafting fixed archive rules for VMS
From: |
John E. Malmberg |
Subject: |
default.c - Need help in crafting fixed archive rules for VMS |
Date: |
Sun, 13 Apr 2014 22:31:19 -0500 |
User-agent: |
Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3 |
I was able to get one type of archive rules working for VMS, but have
not been able to figure how to translate code from the makefiles into
the internal default pattern rules for a more general case.
The rule below works for object libraries suffixes ".a" and ".olb" only.
For VMS I have to use slightly different rules for different library
types, something like:
.a(%) : %
<tab>if f$$search("@$") .eqs. "" then $(LIBRARY)/CREA/OBJ
<tab>($LIBRARY)$(LIBFLAGS) $@ $<
.hlb(%) : %
<tab>if f$$search("@$") .eqs. "" then $(LIBRARY)/CREA/TEXT
<tab>($LIBRARY)$(LIBFLAGS) $@ $<
.mlb(%) : %
<tab>if f$$search("@$") .eqs. "" then $(LIBRARY)/CREA/MACR
<tab>($LIBRARY)$(LIBFLAGS) $@ $<
If I try to put the library suffix in a compiled rule, the rule is ignored.
Below is what I could get to work:
(Slightly modified to avoid text wrapping)
@@ -53,9 +55,15 @@
static struct pspec default_pattern_rules[] =
{
+#ifdef VMS
{ "(%)", "%",
- "$(AR) $(ARFLAGS) $@ $<" },
+ "if f$$search(\"address@hidden") .eqs. \"\" then $(LIBRARY)/CRE/OBJ
address@hidden \
+$(LIBRARY) $(ARFLAGS) $@ $<" },
+#else
+ { "(%)", "%",
+ "$(AR) $(ARFLAGS) $@ $<" },
+#endif
/* The X.out rules are only in BSD's default set because
BSD Make has no null-suffix rules, so 'foo.out' and
'foo' are the same thing. */
@@ -78,6 +86,7 @@
So I do not understand how to get something like the above rules added
to default.c.
Regards,
-John
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- default.c - Need help in crafting fixed archive rules for VMS,
John E. Malmberg <=