|
27 | 27 | $(SRC)/time.rs \ |
28 | 28 | $(SRC)/jim.rs \ |
29 | 29 | $(SRC)/jimp.rs \ |
30 | | - $(SRC)/codegen/gas_aarch64.rs \ |
31 | | - $(SRC)/codegen/gas_x86_64.rs \ |
32 | | - $(SRC)/codegen/mos6502.rs \ |
33 | | - $(SRC)/codegen/uxn.rs \ |
34 | | - $(SRC)/codegen/mod.rs \ |
| 30 | + |
35 | 31 |
|
36 | 32 | POSIX_OBJS=\ |
37 | 33 | $(BUILD)/nob.posix.o \ |
@@ -65,21 +61,32 @@ test: $(BUILD)/b $(BUILD)/btest |
65 | 61 | .PHONY: mingw32-all |
66 | 62 | mingw32-all: $(BUILD)/b.exe $(BUILD)/btest.exe |
67 | 63 |
|
68 | | -$(BUILD)/b: $(RSS) $(POSIX_OBJS) | $(BUILD) |
69 | | - rustc $(CRUST_FLAGS) -C link-args="$(POSIX_OBJS) $(LDFLAGS)" $(SRC)/b.rs -o $(BUILD)/b |
| 64 | +$(BUILD)/b: $(RSS) $(POSIX_OBJS) $(SRC)/codegen/.INDEX.rs | $(BUILD) |
| 65 | + rustc $(CRUST_FLAGS) -L $(BUILD) -C link-args="$(POSIX_OBJS) $(LDFLAGS)" $(SRC)/b.rs -o $(BUILD)/b |
70 | 66 |
|
71 | | -$(BUILD)/btest: $(SRC)/btest.rs $(RSS) $(POSIX_OBJS) | $(BUILD) |
| 67 | +$(BUILD)/btest: $(SRC)/btest.rs $(RSS) $(POSIX_OBJS) $(SRC)/codegen/.INDEX.rs | $(BUILD) |
72 | 68 | rustc $(CRUST_FLAGS) -C link-args="$(POSIX_OBJS) $(LDFLAGS)" $(SRC)/btest.rs -o $(BUILD)/btest |
73 | 69 |
|
| 70 | +ifneq ($(OS),Windows_NT) |
| 71 | +$(SRC)/codegen/.INDEX.rs: $(BUILD)/bgen |
| 72 | + $(BUILD)/bgen |
| 73 | +else |
| 74 | +$(SRC)/codegen/.INDEX.rs: $(BUILD)/bgen.exe |
| 75 | + $(BUILD)/bgen.exe |
| 76 | +endif |
| 77 | + |
| 78 | +$(BUILD)/bgen: $(SRC)/bgen.rs $(RSS) $(POSIX_OBJS) | $(BUILD) |
| 79 | + rustc $(CRUST_FLAGS) -C link-args="$(POSIX_OBJS) $(LDFLAGS)" $(SRC)/bgen.rs -o $(BUILD)/bgen |
| 80 | + |
74 | 81 | $(BUILD)/%.posix.o: ./thirdparty/%.c | $(BUILD) |
75 | 82 | $(CC) -fPIC -g -c $< -o $@ $(LDFLAGS) |
76 | 83 |
|
77 | 84 | # Cross-compilation on POSIX to Windows using mingw32-w64 |
78 | 85 | # Invoked on demand by `make ./build/b.exe` |
79 | | -$(BUILD)/b.exe: $(RSS) $(MINGW32_OBJS) | $(BUILD) |
| 86 | +$(BUILD)/b.exe: $(RSS) $(MINGW32_OBJS) $(SRC)/codegen/.INDEX.rs | $(BUILD) |
80 | 87 | rustc $(CRUST_FLAGS) --target x86_64-pc-windows-gnu -C link-args="$(MINGW32_OBJS) -lmingwex -lmsvcrt -lkernel32" $(SRC)/b.rs -o $(BUILD)/b.exe |
81 | 88 |
|
82 | | -$(BUILD)/btest.exe: $(SRC)/btest.rs $(RSS) $(MINGW32_OBJS) | $(BUILD) |
| 89 | +$(BUILD)/btest.exe: $(SRC)/btest.rs $(RSS) $(MINGW32_OBJS) $(SRC)/codegen/.INDEX.rs | $(BUILD) |
83 | 90 | rustc $(CRUST_FLAGS) --target x86_64-pc-windows-gnu -C link-args="$(MINGW32_OBJS) -lmingwex -lmsvcrt -lkernel32" $(SRC)/btest.rs -o $(BUILD)/btest.exe |
84 | 91 |
|
85 | 92 | $(BUILD)/%.mingw32.o: ./thirdparty/%.c | $(BUILD) |
|
0 commit comments