]>
Commit | Line | Data |
---|---|---|
c7de829c WD |
1 | ############################################################################# |
2 | # | |
3 | # SciTech Multi-platform Graphics Library | |
4 | # | |
5 | # ======================================================================== | |
6 | # | |
7 | # The contents of this file are subject to the SciTech MGL Public | |
8 | # License Version 1.0 (the "License"); you may not use this file | |
9 | # except in compliance with the License. You may obtain a copy of | |
10 | # the License at http://www.scitechsoft.com/mgl-license.txt | |
11 | # | |
12 | # Software distributed under the License is distributed on an | |
13 | # "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or | |
14 | # implied. See the License for the specific language governing | |
15 | # rights and limitations under the License. | |
16 | # | |
17 | # The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc. | |
18 | # | |
19 | # The Initial Developer of the Original Code is SciTech Software, Inc. | |
20 | # All Rights Reserved. | |
21 | # | |
22 | # ======================================================================== | |
23 | # | |
24 | # Descripton: Rules makefile definitions, which define the rules used to | |
25 | # build targets. We include them here at the end of the | |
26 | # makefile so the generic project makefiles can override | |
27 | # certain things with macros (such as linking C++ programs | |
28 | # differently). | |
29 | # | |
30 | ############################################################################# | |
31 | ||
32 | # Take out PMLIB if we don't need to link with it | |
33 | ||
34 | .IF $(NO_PMLIB) | |
35 | PMLIB := | |
36 | .ENDIF | |
37 | ||
38 | # Implicit generation rules for making object files | |
39 | %$O: %.c ; $(CC) -c @$(mktmp $(CFLAGS:s/\/\\)) $(<:s,/,\) | |
40 | %$O: %$P ; $(CPP) -c @$(mktmp $(CFLAGS:s/\/\\)) $(<:s,/,\) | |
41 | .IF $(USE_NASM) | |
42 | %$O: %$A ; $(AS) @$(mktmp -o $@ $(ASFLAGS:s/\/\\)) $(<:s,/,\) | |
43 | .ELSE | |
44 | %$O: %$A ; $(AS) @$(mktmp $(ASFLAGS:s/\/\\)) $(<:s,/,\) | |
45 | .ENDIF | |
46 | ||
47 | # Implicit rule for building resource files | |
48 | %$R: %.rc ; $(RC) $(RCFLAGS) -r $< | |
49 | ||
50 | # Implicit rule for building help files | |
51 | %.hlp: %.ipf; $(IPFC) $(IPFCFLAGS) $< | |
52 | ||
53 | # Implicit rule for building a DLL using a response file | |
54 | .IF $(USE_OS2GUI) | |
55 | %$D: ; rclink $(LD) $(RC) $@ $(mktmp $(LDFLAGS) $(&:t"+\n":s/\/\\)\n$@\n$*.map\n$(EXELIBS) $(PMLIB)\n$*.def\n) | |
56 | .ELSE | |
57 | %$D: ; $(LD) /nofree /nol @$(mktmp $(LDFLAGS) $(&:t"+\n":s/\/\\)\n$@\n$*.map\n$(EXELIBS) $(PMLIB)\n$*.def\n) | |
58 | .ENDIF | |
59 | ||
60 | # Implicit rule for building a library file using response file | |
61 | .IF $(BUILD_DLL) | |
62 | %$L: ; $(ILIB) $(ILIBFLAGS) $@ $? | |
63 | .ELIF $(IMPORT_DLL) | |
64 | %$L: ; $(ILIB) $(ILIBFLAGS) $@ $? | |
65 | .ELSE | |
66 | %$L: ; $(LIB) $(LIBFLAGS) @$(mktmp $@-+$(?:t"&\n-+":s/\/\\);) | |
67 | .ENDIF | |
68 | ||
69 | # Implicit rule for building an executable file using response file | |
70 | .IF $(USE_OS2GUI) | |
71 | %$E: ; | |
8bde7f77 | 72 | rclink $(LD) $(RC) $@ $(mktmp $(LDFLAGS) $(&:t"+\n":s/\/\\)\n$@\n$*.map\n$(EXELIBS) $(PMLIB)\n$*.def\n) |
c7de829c | 73 | .IF $(LXLITE) |
8bde7f77 | 74 | lxlite $@ |
c7de829c WD |
75 | .ENDIF |
76 | .ELSE | |
77 | %$E: ; | |
8bde7f77 | 78 | rclink $(LD) $(RC) $@ $(mktmp $(LDFLAGS) $(&:t"+\n":s/\/\\)\n$@\n$*.map\n$(EXELIBS) $(PMLIB)\n\n) |
c7de829c | 79 | .IF $(LXLITE) |
8bde7f77 | 80 | lxlite $@ |
c7de829c WD |
81 | .ENDIF |
82 | .ENDIF |