comparison Makefile @ 2688:b42f00a3a937 default tip

Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
author Michael Pavone <pavone@retrodev.com>
date Mon, 31 Mar 2025 21:06:18 -0700
parents da2e06c42d16
children
comparison
equal deleted inserted replaced
2687:948ddc60813e 2688:b42f00a3a937
1 #disable built-in rules 1 #disable built-in rules
2 .SUFFIXES : 2 .SUFFIXES :
3 .PHONY: all clean
3 4
4 ifndef OS 5 ifndef OS
5 OS:=$(shell uname -s) 6 OS:=$(shell uname -s)
6 endif 7 endif
7 ifndef SDL 8 ifndef SDL
326 ZTESTOBJS:=ztestrun.o serialize.o $(Z80OBJS) $(TRANSOBJS) util.o 327 ZTESTOBJS:=ztestrun.o serialize.o $(Z80OBJS) $(TRANSOBJS) util.o
327 CPMOBJS:=blastcpm.o util.o serialize.o $(Z80OBJS) $(TRANSOBJS) 328 CPMOBJS:=blastcpm.o util.o serialize.o $(Z80OBJS) $(TRANSOBJS)
328 329
329 LIBCFLAGS=$(CFLAGS) -fpic -DIS_LIB -DDISABLE_ZLIB 330 LIBCFLAGS=$(CFLAGS) -fpic -DIS_LIB -DDISABLE_ZLIB
330 331
332 all : $(ALL)
333
334 ORDERONLY:=$(OBJDIR)
335 LIBORDERONLY:=$(LIBOBJDIR)
336 ifdef NEW_CORE
337 ifeq ($(wildcard $(OBJDIR)/*.d),)
338 ORDERONLY+= m68k.c z80.c
339 endif
340 ifeq ($(wildcard $(LIBOBJDIR)/*.d),)
341 LIBORDERONLY+= m68k.c z80.c
342 endif
343 endif
344
331 -include $(MAINOBJS:%.o=$(OBJDIR)/%.d) 345 -include $(MAINOBJS:%.o=$(OBJDIR)/%.d)
332 -include $(LIBOBJS:%.o=$(LIBOBJDIR)/%.d) 346 -include $(LIBOBJS:%.o=$(LIBOBJDIR)/%.d)
333 -include $(DISOBJS:.o=$(OBJDIR)/%.d) 347 -include $(DISOBJS:.o=$(OBJDIR)/%.d)
334 -include $(OBJDIR)/trans.d 348 -include $(OBJDIR)/trans.d
335 -include $(OBJDIR)/ztestrun.d 349 -include $(OBJDIR)/ztestrun.d
336 -include $(OBJDIR)/blastcpm.d 350 -include $(OBJDIR)/blastcpm.d
337 351
338 all : $(ALL)
339
340 $(OBJDIR) : 352 $(OBJDIR) :
341 mkdir -p $(OBJDIR)/nuklear_ui 353 mkdir -p $(OBJDIR)/nuklear_ui
342 mkdir -p $(OBJDIR)/zlib 354 mkdir -p $(OBJDIR)/zlib
343 355
344 $(LIBOBJDIR) : 356 $(LIBOBJDIR) :
383 ./cpu_dsl.py -d $(shell echo $@ | sed -E -e "s/^z80.*$$/$(Z80_DISPATCH)/" -e '/^goto/! s/^.*$$/call/') $< > $(shell echo $@ | sed -E 's/\.[ch]$$/./')c 395 ./cpu_dsl.py -d $(shell echo $@ | sed -E -e "s/^z80.*$$/$(Z80_DISPATCH)/" -e '/^goto/! s/^.*$$/call/') $< > $(shell echo $@ | sed -E 's/\.[ch]$$/./')c
384 396
385 %.db.c : %.db 397 %.db.c : %.db
386 sed $< -e 's/"/\\"/g' -e 's/^\(.*\)$$/"\1\\n"/' -e'1s/^\(.*\)$$/const char $(shell echo $< | tr '.' '_')_data[] = \1/' -e '$$s/^\(.*\)$$/\1;/' > $@ 398 sed $< -e 's/"/\\"/g' -e 's/^\(.*\)$$/"\1\\n"/' -e'1s/^\(.*\)$$/const char $(shell echo $< | tr '.' '_')_data[] = \1/' -e '$$s/^\(.*\)$$/\1;/' > $@
387 399
388 $(OBJDIR)/%.o : %.S | $(OBJDIR) 400 $(OBJDIR)/%.o : %.S | $(ORDERONLY)
389 $(CC) -c -MMD -o $@ $< 401 $(CC) -c -MMD -o $@ $<
390 402
391 $(OBJDIR)/%.o : %.c | $(OBJDIR) 403 $(OBJDIR)/%.o : %.c | $(ORDERONLY)
392 $(CC) $(CFLAGS) -c -MMD -o $@ $< 404 $(CC) $(CFLAGS) -c -MMD -o $@ $<
393 405
394 $(OBJDIR)/%.o : %.m | $(OBJDIR) 406 $(OBJDIR)/%.o : %.m | $(ORDERONLY)
395 $(CC) $(CFLAGS) -c -MMD -o $@ $< 407 $(CC) $(CFLAGS) -c -MMD -o $@ $<
396 408
397 $(LIBOBJDIR)/%.o : %.S | $(LIBOBJDIR) 409 $(LIBOBJDIR)/%.o : %.S | $(LIBORDERONLY)
398 $(CC) -c -MMD -o $@ $< 410 $(CC) -c -MMD -o $@ $<
399 411
400 $(LIBOBJDIR)/%.o : %.c | $(LIBOBJDIR) 412 $(LIBOBJDIR)/%.o : %.c | $(LIBORDERONLY)
401 $(CC) $(LIBCFLAGS) -c -MMD -o $@ $< 413 $(CC) $(LIBCFLAGS) -c -MMD -o $@ $<
402 414
403 $(LIBOBJDIR)/%.o : %.m | $(LIBOBJDIR) 415 $(LIBOBJDIR)/%.o : %.m | $(LIBORDERONLY)
404 $(CC) $(LIBCFLAGS) -c -MMD -o $@ $< 416 $(CC) $(LIBCFLAGS) -c -MMD -o $@ $<
405 417
406 %.png : %.xcf 418 %.png : %.xcf
407 convert -background none -flatten $< $@ 419 convert -background none -flatten $< $@
408 420