]>
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 | .IF $(USE_CXX_LINKER) | |
39 | LD := $(LDXX) | |
40 | .ENDIF | |
41 | ||
42 | # Implicit generation rules for making object files from source files | |
43 | %$O: %.c ; | |
44 | .IF $(SHOW_ARGS) | |
45 | $(CC) -c $(CFLAGS) $< | |
46 | .ELSE | |
47 | @$(ECHO) $(CC) $(SHOW_CFLAGS) $< | |
48 | @$(CC) -c $(CFLAGS) $< | |
49 | .ENDIF | |
50 | ||
51 | %$O: %$P ; | |
52 | .IF $(SHOW_ARGS) | |
53 | $(CXX) -c $(CFLAGS) $< | |
54 | .ELSE | |
55 | @$(ECHO) $(CXX) $(SHOW_CFLAGS) $< | |
56 | @$(CXX) -c $(CFLAGS) $< | |
57 | .ENDIF | |
58 | ||
59 | %$O: %$A ; | |
60 | .IF $(SHOW_ARGS) | |
61 | $(AS) -o $@ $(ASFLAGS) $< | |
62 | .ELSE | |
63 | @$(ECHO) $(AS) $(SHOW_ASFLAGS) $< | |
64 | @$(AS) @$(mktmp -o $@ $(ASFLAGS)) $< | |
65 | .ENDIF | |
66 | ||
67 | # Implicit rule for building a library file | |
68 | .IF $(BUILD_DLL) | |
69 | %$L: ; | |
70 | .IF $(SHOW_ARGS) | |
71 | $(LIB) $(LIBFLAGS) -Wl,-soname,$@.$(VERSIONMAJ) -o $@ $& $(LIBS) | |
72 | .ELSE | |
73 | @$(ECHO) $(LIB) $@ | |
74 | @$(LIB) $(LIBFLAGS) -Wl,-soname,$@.$(VERSIONMAJ) -o $@ $& $(LIBS) | |
75 | .ENDIF | |
76 | .ELSE | |
77 | %$L: ; | |
78 | .IF $(SHOW_ARGS) | |
79 | $(LIB) $(LIBFLAGS) $@ $& | |
80 | .ELSE | |
81 | @$(ECHO) $(LIB) $@ | |
82 | @$(LIB) $(LIBFLAGS) $@ $& | |
83 | .ENDIF | |
84 | .ENDIF | |
85 | ||
86 | # Implicit rule for building an executable file | |
87 | %$E: ; | |
88 | .IF $(SHOW_ARGS) | |
89 | $(LD) $(LDFLAGS) -o $@ $& $(EXELIBS) $(PMLIB) -lm | |
90 | .ELSE | |
91 | @$(ECHO) ld $@ | |
92 | @$(LD) $(LDFLAGS) -o $@ $& $(EXELIBS) $(PMLIB) -lm | |
93 | .ENDIF |