comparison Makefile @ 1505:f5d693bd694a

Enable LTO on certain targets that don't need the full LDFLAGS by splitting out the optimization flags into a separate var
author Michael Pavone <pavone@retrodev.com>
date Sun, 31 Dec 2017 09:53:33 -0800
parents 4e5797b3935a
children 36732f5c2281 9136b7ea1ccb
comparison
equal deleted inserted replaced
1471:2e6320d261ff 1505:f5d693bd694a
63 63
64 endif #PORTABLE 64 endif #PORTABLE
65 endif #Windows 65 endif #Windows
66 66
67 ifdef DEBUG 67 ifdef DEBUG
68 CFLAGS:=-ggdb $(CFLAGS) 68 OPT:=-ggdb -Og
69 LDFLAGS:=-ggdb $(LDFLAGS)
70 else 69 else
71 ifdef NOLTO 70 ifdef NOLTO
72 CFLAGS:=-O2 $(CFLAGS) 71 OPT:=-O2
73 LDFLAGS:=-O2 $(LDFLAGS) 72 else
74 else 73 OPT:=-O2 -flto
75 CFLAGS:=-O2 -flto $(CFLAGS)
76 LDFLAGS:=-O2 -flto $(LDFLAGS)
77 endif #NOLTO 74 endif #NOLTO
78 endif #DEBUG 75 endif #DEBUG
76
77 CFLAGS:=$(OPT) $(CFLAGS)
78 LDFLAGS:=$(OPT) $(LDFLAGS)
79 79
80 ifdef Z80_LOG_ADDRESS 80 ifdef Z80_LOG_ADDRESS
81 CFLAGS+= -DZ80_LOG_ADDRESS 81 CFLAGS+= -DZ80_LOG_ADDRESS
82 endif 82 endif
83 83
164 164
165 blastjag$(EXE) : jaguar.o jag_video.o render_sdl.o serialize.o $(M68KOBJS) $(TRANSOBJS) $(CONFIGOBJS) 165 blastjag$(EXE) : jaguar.o jag_video.o render_sdl.o serialize.o $(M68KOBJS) $(TRANSOBJS) $(CONFIGOBJS)
166 $(CC) -o $@ $^ $(LDFLAGS) 166 $(CC) -o $@ $^ $(LDFLAGS)
167 167
168 dis$(EXE) : dis.o 68kinst.o tern.o vos_program_module.o 168 dis$(EXE) : dis.o 68kinst.o tern.o vos_program_module.o
169 $(CC) -o $@ $^ 169 $(CC) -o $@ $^ $(OPT)
170 170
171 jagdis : jagdis.o jagcpu.o tern.o 171 jagdis : jagdis.o jagcpu.o tern.o
172 $(CC) -o $@ $^ 172 $(CC) -o $@ $^
173 173
174 zdis$(EXE) : zdis.o z80inst.o 174 zdis$(EXE) : zdis.o z80inst.o
176 176
177 libemu68k.a : $(M68KOBJS) $(TRANSOBJS) 177 libemu68k.a : $(M68KOBJS) $(TRANSOBJS)
178 ar rcs libemu68k.a $(M68KOBJS) $(TRANSOBJS) 178 ar rcs libemu68k.a $(M68KOBJS) $(TRANSOBJS)
179 179
180 trans : trans.o serialize.o $(M68KOBJS) $(TRANSOBJS) util.o 180 trans : trans.o serialize.o $(M68KOBJS) $(TRANSOBJS) util.o
181 $(CC) -o trans trans.o $(M68KOBJS) $(TRANSOBJS) util.o 181 $(CC) -o trans trans.o $(M68KOBJS) $(TRANSOBJS) util.o $(OPT)
182 182
183 transz80 : transz80.o $(Z80OBJS) $(TRANSOBJS) 183 transz80 : transz80.o $(Z80OBJS) $(TRANSOBJS)
184 $(CC) -o transz80 transz80.o $(Z80OBJS) $(TRANSOBJS) 184 $(CC) -o transz80 transz80.o $(Z80OBJS) $(TRANSOBJS)
185 185
186 ztestrun : ztestrun.o serialize.o $(Z80OBJS) $(TRANSOBJS) 186 ztestrun : ztestrun.o serialize.o $(Z80OBJS) $(TRANSOBJS)
187 $(CC) -o ztestrun ztestrun.o $(Z80OBJS) $(TRANSOBJS) 187 $(CC) -o ztestrun ztestrun.o $(Z80OBJS) $(TRANSOBJS) $(OPT)
188 188
189 ztestgen : ztestgen.o z80inst.o 189 ztestgen : ztestgen.o z80inst.o
190 $(CC) -ggdb -o ztestgen ztestgen.o z80inst.o 190 $(CC) -ggdb -o ztestgen ztestgen.o z80inst.o
191 191
192 stateview$(EXE) : stateview.o vdp.o render_sdl.o ppm.o serialize.o $(CONFIGOBJS) gst.o 192 stateview$(EXE) : stateview.o vdp.o render_sdl.o ppm.o serialize.o $(CONFIGOBJS) gst.o
196 vgmplay$(EXE) : vgmplay.o render_sdl.o ppm.o serialize.o $(CONFIGOBJS) $(AUDIOOBJS) 196 vgmplay$(EXE) : vgmplay.o render_sdl.o ppm.o serialize.o $(CONFIGOBJS) $(AUDIOOBJS)
197 $(CC) -o $@ $^ $(LDFLAGS) 197 $(CC) -o $@ $^ $(LDFLAGS)
198 $(FIXUP) ./$@ 198 $(FIXUP) ./$@
199 199
200 blastcpm : blastcpm.o util.o serialize.o $(Z80OBJS) $(TRANSOBJS) 200 blastcpm : blastcpm.o util.o serialize.o $(Z80OBJS) $(TRANSOBJS)
201 $(CC) -o $@ $^ 201 $(CC) -o $@ $^ $(OPT)
202 202
203 test : test.o vdp.o 203 test : test.o vdp.o
204 $(CC) -o test test.o vdp.o 204 $(CC) -o test test.o vdp.o
205 205
206 testgst : testgst.o gst.o 206 testgst : testgst.o gst.o