--- nono/vm/Makefile 2026/04/29 17:05:10 1.1.1.10 +++ nono/vm/Makefile 2026/04/29 17:05:42 1.1.1.18 @@ -11,41 +11,67 @@ .include "../Makefile.inc" TARGETS= libnnvm.a -.if !defined(NOTEST) -TARGETS+= test_busio +.if !defined(RELEASE) +TARGETS+= test_busio test_windrv .endif -CXXSRCS_vm= \ +CXXSRCS= \ + adpcm.cpp \ areaset.cpp \ - bt454.cpp \ - bus.cpp \ + bankram.cpp \ + bootloader.cpp \ + bt45x.cpp \ cgrom.cpp \ cmmu.cpp \ + console.cpp \ crtc.cpp \ crtc2.cpp \ device.cpp \ + dipsw.cpp \ dmac.cpp \ ethernet.cpp \ event.cpp \ + extarea.cpp \ + extram.cpp \ fdc.cpp \ + fdd.cpp \ fuserom.cpp \ + goldfish_pic.cpp \ + goldfish_rtc.cpp \ + goldfish_timer.cpp \ + goldfish_tty.cpp \ gvram.cpp \ human68k.cpp \ - human_mi.cpp \ + iodevstream.cpp \ interrupt.cpp \ + iplrom30.cpp \ + kbc.cpp \ keyboard.cpp \ lance.cpp \ lcd.cpp \ lunafb.cpp \ lunakbd.cpp \ + mainbus.cpp \ + mainbus_luna.cpp \ + mainbus_news.cpp \ + mainbus_virt68k.cpp \ + mainbus_x68k.cpp \ + mainram.cpp \ mfp.cpp \ mk48t02.cpp \ mpscc.cpp \ mpu.cpp \ + mpu64180.cpp \ mpu680x0.cpp \ mpu88xx0.cpp \ + msxdos.cpp \ + nereid.cpp \ + newsctlr.cpp \ + newsfb.cpp \ + newsio.cpp \ nmi.cpp \ opm.cpp \ + partialram.cpp \ pedec.cpp \ pio.cpp \ planevram.cpp \ @@ -53,27 +79,34 @@ CXXSRCS_vm= \ power.cpp \ printer.cpp \ prom.cpp \ - ram.cpp \ - ram_partial.cpp \ + qemusysctlr.cpp \ renderer.cpp \ rom.cpp \ + romemu.cpp \ romemu_luna.cpp \ romemu_luna1.cpp \ romemu_luna88k.cpp \ + romemu_news.cpp \ + romemu_virt68k.cpp \ + romemu_x68k.cpp \ romimg_x68k.cpp \ rp5c15.cpp \ rtc.cpp \ + rtl8019as.cpp \ scc.cpp \ scheduler.cpp \ scsi.cpp \ scsibus.cpp \ scsicmd.cpp \ scsidev.cpp \ + scsidomain.cpp \ sio.cpp \ spc.cpp \ sprite.cpp \ sram.cpp \ - sync.cpp \ + ssg.cpp \ + subram.cpp \ + syncer.cpp \ sysclk.cpp \ sysctlr.cpp \ sysport.cpp \ @@ -82,25 +115,44 @@ CXXSRCS_vm= \ tvram.cpp \ ufs.cpp \ uimessage.cpp \ + v68kio.cpp \ videoctlr.cpp \ + virtio_base.cpp \ + virtio_block.cpp \ + virtio_def.cpp \ + virtio_entropy.cpp \ + virtio_net.cpp \ + virtio_scsi.cpp \ vm.cpp \ vm_luna.cpp \ + vm_news.cpp \ + vm_virt68k.cpp \ vm_x68k.cpp \ + windrv.cpp \ + x68kio.cpp \ x68kkbd.cpp \ - xiospace.cpp \ - zram.cpp \ + xpbus.cpp \ + +.if "${HOST_HAS_AVX2}" == "yes" +CXXSRCS+= accel_avx2.cpp +CXXFLAGS.accel_avx2.cpp+= -mavx2 +.endif +.if "${HOST_HAS_NEON}" == "yes" +CXXSRCS+= accel_neon.cpp +.endif CXXSRCS_test= \ test_busio.cpp \ test_tool.cpp \ + test_windrv.cpp \ -CXXSRCS= ${CXXSRCS_vm} ${CXXSRCS_test} +CXXSRCS_all= ${CXXSRCS} ${CXXSRCS_test} -OBJS_vm= ${CXXSRCS_vm:.cpp=.o} +OBJS= ${CXXSRCS:.cpp=.o} CLEANFILES+= gencgrom -libnnvm.a: ${OBJS_vm} +libnnvm.a: ${OBJS} rm -f $@ ${AR} r $@ $> ${RANLIB} $@ @@ -108,4 +160,13 @@ libnnvm.a: ${OBJS_vm} test_busio: test_busio.o ${CXX} ${LDFLAGS} -o $@ $> +test_ethernet: test_ethernet.o ../lib/libnnlib.a + ${CXX} ${LDFLAGS} -o $@ $> + +test_ethernet.o: test_ethernet.cpp ethernet.cpp + +# LIBS は libbsd のため。 +test_windrv: test_windrv.o ../lib/libnnlib.a + ${CXX} ${LDFLAGS} -o $@ $> ${LIBS} + .include "../Makefile.rule"