diff --git a/Makefile b/Makefile index 66aea8e..d7cb8d9 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,6 @@ # # artifact paths -SRC:=src BUILD:=build BIN:=bin @@ -51,7 +50,7 @@ EXE= endif CC=$(CROSS_PREFIX)gcc STRIP=$(CROSS_PREFIX)strip -CFLAGS=-O2 -Wall -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -MMD -Isrc -Isrc/slirp +CFLAGS=-O2 -Wall -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -MMD CFLAGS+=-D_GNU_SOURCE -DCONFIG_VERSION=\"$(shell cat VERSION)\" LDFLAGS= @@ -65,7 +64,7 @@ PROGS+=build_filelist splitimg endif endif -all: $(addprefix $(BIN)/,$(PROGS)) +all: $(PROGS) EMU_OBJS:=virtio.o pci.o fs.o cutils.o iomem.o simplefb.o \ json.o machine.o temu.o @@ -108,34 +107,35 @@ CFLAGS+=-DCONFIG_X86EMU EMU_OBJS+=x86_cpu.o x86_machine.o ide.o ps2.o vmmouse.o pckbd.o vga.o endif -# macros to relevant path definitions +# macro to prepend $(BUILD) define mkbuild -$(addprefix $(BUILD)/,$1) +$(addprefix $(BUILD)/,$(1)) endef -$(BIN)/temu$(EXE): $(BUILD) $(BIN) $(call mkbuild,$(EMU_OBJS)) - $(CC) $(LDFLAGS) -o $@ $(call mkbuild,$(EMU_OBJS)) $(EMU_LIBS) +temu$(EXE): $(BUILD) $(BIN) $(EMU_OBJS) + $(CC) $(LDFLAGS) -o $(BIN)/$@ $(call mkbuild,$(EMU_OBJS)) $(EMU_LIBS) -$(BUILD)/riscv_cpu32.o: $(SRC)/riscv_cpu.c - $(CC) $(CFLAGS) -DMAX_XLEN=32 -c -o $@ $< +riscv_cpu32.o: riscv_cpu.c + $(CC) $(CFLAGS) -DMAX_XLEN=32 -c -o $(BUILD)/$@ $< -$(BUILD)/riscv_cpu64.o: $(SRC)/riscv_cpu.c - $(CC) $(CFLAGS) -DMAX_XLEN=64 -c -o $@ $< +riscv_cpu64.o: riscv_cpu.c + $(CC) $(CFLAGS) -DMAX_XLEN=64 -c -o $(BUILD)/$@ $< -$(BUILD)/riscv_cpu128.o: $(SRC)/riscv_cpu.c - $(CC) $(CFLAGS) -DMAX_XLEN=128 -c -o $@ $< +riscv_cpu128.o: riscv_cpu.c + $(CC) $(CFLAGS) -DMAX_XLEN=128 -c -o $(BUILD)/$@ $< -$(BIN)/build_filelist: $(BUILD)/build_filelist.o $(BUILD)/fs_utils.o $(BUILD)/cutils.o - $(CC) $(LDFLAGS) -o $@ $^ -lm +build_filelist: build_filelist.o fs_utils.o cutils.o + $(CC) $(LDFLAGS) -o $(BIN)/$@ $(call mkbuild,$^) -lm -$(BIN)/splitimg: $(BUILD)/splitimg.o - $(CC) $(LDFLAGS) -o $@ $^ +splitimg: splitimg.o + $(CC) $(LDFLAGS) -o $(BIN)/$@ $(call mkbuild,$^) -$(BUILD)/%.o: $(SRC)/%.c - $(CC) $(CFLAGS) -c -o $@ $< +install: $(PROGS) + $(STRIP) $(PROGS) + $(INSTALL) -m755 $(PROGS) "$(DESTDIR)$(bindir)" -$(BUILD)/slirp/%.o: $(SRC)/slirp/%.c - $(CC) $(CFLAGS) -c -o $@ $< +%.o: %.c + $(CC) $(CFLAGS) -c -o $(BUILD)/$@ $< .PHONY: $(BUILD) $(BUILD): @@ -145,15 +145,10 @@ $(BUILD): $(BIN): @mkdir -p $@ -.PHONY: install -install: $(PROGS) - $(STRIP) $(PROGS) - $(INSTALL) -m755 $(PROGS) "$(DESTDIR)$(bindir)" - .PHONY: clean clean: rm -f *~ $(PROGS) rm -rf $(BUILD) --include $(wildcard build/*.d) +-include $(wildcard $(BUILD)/*.d) -include $(wildcard $(BUILD)/slirp/*.d) diff --git a/VERSION b/VERSION index cbb0522..bd16728 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -cry-2025-7-22 +2019-12-21 diff --git a/src/aes.c b/aes.c similarity index 100% rename from src/aes.c rename to aes.c diff --git a/src/aes.h b/aes.h similarity index 100% rename from src/aes.h rename to aes.h diff --git a/src/block_net.c b/block_net.c similarity index 100% rename from src/block_net.c rename to block_net.c diff --git a/src/build_filelist.c b/build_filelist.c similarity index 100% rename from src/build_filelist.c rename to build_filelist.c diff --git a/src/cutils.c b/cutils.c similarity index 100% rename from src/cutils.c rename to cutils.c diff --git a/src/cutils.h b/cutils.h similarity index 100% rename from src/cutils.h rename to cutils.h diff --git a/src/fbuf.h b/fbuf.h similarity index 100% rename from src/fbuf.h rename to fbuf.h diff --git a/src/fs.c b/fs.c similarity index 100% rename from src/fs.c rename to fs.c diff --git a/src/fs.h b/fs.h similarity index 100% rename from src/fs.h rename to fs.h diff --git a/src/fs_disk.c b/fs_disk.c similarity index 100% rename from src/fs_disk.c rename to fs_disk.c diff --git a/src/fs_net.c b/fs_net.c similarity index 100% rename from src/fs_net.c rename to fs_net.c diff --git a/src/fs_utils.c b/fs_utils.c similarity index 100% rename from src/fs_utils.c rename to fs_utils.c diff --git a/src/fs_utils.h b/fs_utils.h similarity index 100% rename from src/fs_utils.h rename to fs_utils.h diff --git a/src/fs_wget.c b/fs_wget.c similarity index 100% rename from src/fs_wget.c rename to fs_wget.c diff --git a/src/fs_wget.h b/fs_wget.h similarity index 100% rename from src/fs_wget.h rename to fs_wget.h diff --git a/src/ide.c b/ide.c similarity index 100% rename from src/ide.c rename to ide.c diff --git a/src/ide.h b/ide.h similarity index 100% rename from src/ide.h rename to ide.h diff --git a/src/iomem.c b/iomem.c similarity index 100% rename from src/iomem.c rename to iomem.c diff --git a/src/iomem.h b/iomem.h similarity index 100% rename from src/iomem.h rename to iomem.h diff --git a/src/jsemu.c b/jsemu.c similarity index 100% rename from src/jsemu.c rename to jsemu.c diff --git a/src/json.c b/json.c similarity index 100% rename from src/json.c rename to json.c diff --git a/src/json.h b/json.h similarity index 100% rename from src/json.h rename to json.h diff --git a/src/list.h b/list.h similarity index 100% rename from src/list.h rename to list.h diff --git a/src/machine.c b/machine.c similarity index 100% rename from src/machine.c rename to machine.c diff --git a/src/machine.h b/machine.h similarity index 100% rename from src/machine.h rename to machine.h diff --git a/src/pci.c b/pci.c similarity index 100% rename from src/pci.c rename to pci.c diff --git a/src/pci.h b/pci.h similarity index 100% rename from src/pci.h rename to pci.h diff --git a/src/pckbd.c b/pckbd.c similarity index 100% rename from src/pckbd.c rename to pckbd.c diff --git a/src/ps2.c b/ps2.c similarity index 100% rename from src/ps2.c rename to ps2.c diff --git a/src/ps2.h b/ps2.h similarity index 100% rename from src/ps2.h rename to ps2.h diff --git a/src/riscv_cpu.c b/riscv_cpu.c similarity index 100% rename from src/riscv_cpu.c rename to riscv_cpu.c diff --git a/src/riscv_cpu.h b/riscv_cpu.h similarity index 100% rename from src/riscv_cpu.h rename to riscv_cpu.h diff --git a/src/riscv_cpu_fp_template.h b/riscv_cpu_fp_template.h similarity index 100% rename from src/riscv_cpu_fp_template.h rename to riscv_cpu_fp_template.h diff --git a/src/riscv_cpu_priv.h b/riscv_cpu_priv.h similarity index 100% rename from src/riscv_cpu_priv.h rename to riscv_cpu_priv.h diff --git a/src/riscv_cpu_template.h b/riscv_cpu_template.h similarity index 100% rename from src/riscv_cpu_template.h rename to riscv_cpu_template.h diff --git a/src/riscv_machine.c b/riscv_machine.c similarity index 100% rename from src/riscv_machine.c rename to riscv_machine.c diff --git a/src/sdl.c b/sdl.c similarity index 100% rename from src/sdl.c rename to sdl.c diff --git a/src/sha256.c b/sha256.c similarity index 100% rename from src/sha256.c rename to sha256.c diff --git a/src/sha256.h b/sha256.h similarity index 100% rename from src/sha256.h rename to sha256.h diff --git a/src/simplefb.c b/simplefb.c similarity index 100% rename from src/simplefb.c rename to simplefb.c diff --git a/src/slirp/bootp.c b/slirp/bootp.c similarity index 100% rename from src/slirp/bootp.c rename to slirp/bootp.c diff --git a/src/slirp/bootp.h b/slirp/bootp.h similarity index 100% rename from src/slirp/bootp.h rename to slirp/bootp.h diff --git a/src/slirp/cksum.c b/slirp/cksum.c similarity index 100% rename from src/slirp/cksum.c rename to slirp/cksum.c diff --git a/src/slirp/debug.h b/slirp/debug.h similarity index 100% rename from src/slirp/debug.h rename to slirp/debug.h diff --git a/src/slirp/if.c b/slirp/if.c similarity index 100% rename from src/slirp/if.c rename to slirp/if.c diff --git a/src/slirp/if.h b/slirp/if.h similarity index 100% rename from src/slirp/if.h rename to slirp/if.h diff --git a/src/slirp/ip.h b/slirp/ip.h similarity index 100% rename from src/slirp/ip.h rename to slirp/ip.h diff --git a/src/slirp/ip_icmp.c b/slirp/ip_icmp.c similarity index 100% rename from src/slirp/ip_icmp.c rename to slirp/ip_icmp.c diff --git a/src/slirp/ip_icmp.h b/slirp/ip_icmp.h similarity index 100% rename from src/slirp/ip_icmp.h rename to slirp/ip_icmp.h diff --git a/src/slirp/ip_input.c b/slirp/ip_input.c similarity index 100% rename from src/slirp/ip_input.c rename to slirp/ip_input.c diff --git a/src/slirp/ip_output.c b/slirp/ip_output.c similarity index 100% rename from src/slirp/ip_output.c rename to slirp/ip_output.c diff --git a/src/slirp/libslirp.h b/slirp/libslirp.h similarity index 100% rename from src/slirp/libslirp.h rename to slirp/libslirp.h diff --git a/src/slirp/main.h b/slirp/main.h similarity index 100% rename from src/slirp/main.h rename to slirp/main.h diff --git a/src/slirp/mbuf.c b/slirp/mbuf.c similarity index 100% rename from src/slirp/mbuf.c rename to slirp/mbuf.c diff --git a/src/slirp/mbuf.h b/slirp/mbuf.h similarity index 100% rename from src/slirp/mbuf.h rename to slirp/mbuf.h diff --git a/src/slirp/misc.c b/slirp/misc.c similarity index 100% rename from src/slirp/misc.c rename to slirp/misc.c diff --git a/src/slirp/misc.h b/slirp/misc.h similarity index 100% rename from src/slirp/misc.h rename to slirp/misc.h diff --git a/src/slirp/sbuf.c b/slirp/sbuf.c similarity index 100% rename from src/slirp/sbuf.c rename to slirp/sbuf.c diff --git a/src/slirp/sbuf.h b/slirp/sbuf.h similarity index 100% rename from src/slirp/sbuf.h rename to slirp/sbuf.h diff --git a/src/slirp/slirp.c b/slirp/slirp.c similarity index 100% rename from src/slirp/slirp.c rename to slirp/slirp.c diff --git a/src/slirp/slirp.h b/slirp/slirp.h similarity index 100% rename from src/slirp/slirp.h rename to slirp/slirp.h diff --git a/src/slirp/slirp_config.h b/slirp/slirp_config.h similarity index 100% rename from src/slirp/slirp_config.h rename to slirp/slirp_config.h diff --git a/src/slirp/socket.c b/slirp/socket.c similarity index 100% rename from src/slirp/socket.c rename to slirp/socket.c diff --git a/src/slirp/socket.h b/slirp/socket.h similarity index 100% rename from src/slirp/socket.h rename to slirp/socket.h diff --git a/src/slirp/tcp.h b/slirp/tcp.h similarity index 100% rename from src/slirp/tcp.h rename to slirp/tcp.h diff --git a/src/slirp/tcp_input.c b/slirp/tcp_input.c similarity index 100% rename from src/slirp/tcp_input.c rename to slirp/tcp_input.c diff --git a/src/slirp/tcp_output.c b/slirp/tcp_output.c similarity index 100% rename from src/slirp/tcp_output.c rename to slirp/tcp_output.c diff --git a/src/slirp/tcp_subr.c b/slirp/tcp_subr.c similarity index 100% rename from src/slirp/tcp_subr.c rename to slirp/tcp_subr.c diff --git a/src/slirp/tcp_timer.c b/slirp/tcp_timer.c similarity index 100% rename from src/slirp/tcp_timer.c rename to slirp/tcp_timer.c diff --git a/src/slirp/tcp_timer.h b/slirp/tcp_timer.h similarity index 100% rename from src/slirp/tcp_timer.h rename to slirp/tcp_timer.h diff --git a/src/slirp/tcp_var.h b/slirp/tcp_var.h similarity index 100% rename from src/slirp/tcp_var.h rename to slirp/tcp_var.h diff --git a/src/slirp/tcpip.h b/slirp/tcpip.h similarity index 100% rename from src/slirp/tcpip.h rename to slirp/tcpip.h diff --git a/src/slirp/tftp.h b/slirp/tftp.h similarity index 100% rename from src/slirp/tftp.h rename to slirp/tftp.h diff --git a/src/slirp/udp.c b/slirp/udp.c similarity index 100% rename from src/slirp/udp.c rename to slirp/udp.c diff --git a/src/slirp/udp.h b/slirp/udp.h similarity index 100% rename from src/slirp/udp.h rename to slirp/udp.h diff --git a/src/softfp.c b/softfp.c similarity index 100% rename from src/softfp.c rename to softfp.c diff --git a/src/softfp.h b/softfp.h similarity index 100% rename from src/softfp.h rename to softfp.h diff --git a/src/softfp_template.h b/softfp_template.h similarity index 100% rename from src/softfp_template.h rename to softfp_template.h diff --git a/src/softfp_template_icvt.h b/softfp_template_icvt.h similarity index 100% rename from src/softfp_template_icvt.h rename to softfp_template_icvt.h diff --git a/src/splitimg.c b/splitimg.c similarity index 100% rename from src/splitimg.c rename to splitimg.c diff --git a/src/temu.d b/src/temu.d deleted file mode 100644 index 842d1fa..0000000 --- a/src/temu.d +++ /dev/null @@ -1,3 +0,0 @@ -src/temu: src/temu.c src/cutils.h src/iomem.h src/virtio.h src/pci.h \ - src/fs.h src/machine.h src/json.h src/fs_utils.h src/fs_wget.h \ - src/slirp/libslirp.h diff --git a/src/temu.c b/temu.c similarity index 100% rename from src/temu.c rename to temu.c diff --git a/src/vga.c b/vga.c similarity index 100% rename from src/vga.c rename to vga.c diff --git a/src/virtio.c b/virtio.c similarity index 100% rename from src/virtio.c rename to virtio.c diff --git a/src/virtio.h b/virtio.h similarity index 100% rename from src/virtio.h rename to virtio.h diff --git a/src/vmmouse.c b/vmmouse.c similarity index 100% rename from src/vmmouse.c rename to vmmouse.c diff --git a/src/x86_cpu.c b/x86_cpu.c similarity index 100% rename from src/x86_cpu.c rename to x86_cpu.c diff --git a/src/x86_cpu.h b/x86_cpu.h similarity index 100% rename from src/x86_cpu.h rename to x86_cpu.h diff --git a/src/x86_machine.c b/x86_machine.c similarity index 100% rename from src/x86_machine.c rename to x86_machine.c