@@ -23,14 +23,17 @@ ifeq ($(OS),Windows_NT)
23
23
NATIVEPATH = $(subst /,\,$(1))
24
24
WINPATH = $(NATIVEPATH)
25
25
WINRELPATH = $(subst /,\,$(1))
26
+ WINCHKDIR = if not exist $(1)
26
27
RM = del /q /f 2>nul
27
28
CEDEV ?= $(call NATIVEPATH,$(realpath ..\..))
28
- BIN = $(CEDEV)/bin
29
+ BIN ? = $(call NATIVEPATH,$( CEDEV)/bin)
29
30
AS = $(call NATIVEPATH,$(BIN)/ez80asm.exe)
30
31
LD = $(call NATIVEPATH,$(BIN)/ez80link.exe)
31
32
CC = $(call NATIVEPATH,$(BIN)/ez80cc.exe)
32
33
CD = cd
33
34
CP = copy /Y
35
+ CV = $(call NATIVEPATH,$(BIN)/convhex.exe)
36
+ PG = $(call NATIVEPATH,$(BIN)/convpng.exe)
34
37
NULL = >nul 2>&1
35
38
RMDIR = rmdir /s /q
36
39
MKDIR = mkdir
@@ -41,15 +44,15 @@ WINPATH = $(subst \,\\,$(shell winepath --windows $(1)))
41
44
WINRELPATH = $(subst /,\,$(1))
42
45
RM = rm --force
43
46
CEDEV ?= $(call NATIVEPATH,$(realpath ..\..))
44
- BIN = $(CEDEV)/bin
47
+ BIN ? = $(call NATIVEPATH,$( CEDEV)/bin)
45
48
AS = $(call NATIVEPATH,wine $(BIN)/ez80asm.exe)
46
49
LD = $(call NATIVEPATH,wine $(BIN)/ez80link.exe)
47
50
CC = $(call NATIVEPATH,wine $(BIN)/ez80cc.exe)
48
51
CD = cd
49
52
CP = cp
50
53
CV = $(call NATIVEPATH,$(BIN)/convhex)
51
54
PG = $(call NATIVEPATH,$(BIN)/convpng)
52
- NULL = >nul 2>&1
55
+ NULL =
53
56
RMDIR = rm -rf
54
57
MKDIR = mkdir -p
55
58
chain := ;
@@ -73,7 +76,7 @@ LIBHEADER_OBJ := $(LIBHEADER_ASM:%.asm=%.obj)
73
76
74
77
75
78
#Find all the directories in the source input
76
- ALLDIRS := $(call NATIVEPATH,$( sort $(dir $(wildcard $(SRCDIR)/*/) )))
79
+ ALLDIRS := $(sort $(dir $(wildcard $(SRCDIR)/*/)))
77
80
78
81
#Determine if output should be archived or compressed
79
82
ifeq ($(ARCHIVED),YES)
@@ -217,11 +220,20 @@ LDFLAGS := \
217
220
218
221
ifneq ($(OS),Windows_NT)
219
222
LDFLAGS := '$(LDFLAGS)'
223
+ else
224
+ WINCHKBINDIR := $(WINCHKDIR)$(BINDIR)
225
+ WINCHKOBJDIR := $(WINCHKDIR)$(OBJDIR)
220
226
endif
221
227
222
228
#This rule is trigged to build everything
223
- all: $(BINDIR) $(OBJDIR) $(BINDIR)/$(TARGET8XP)
224
-
229
+ all: add_dirs $(BINDIR)/$(TARGET8XP)
230
+ @echo "Finished."
231
+
232
+ add_dirs:
233
+ @$(WINCHKBINDIR) $(MKDIR) $(BINDIR)
234
+ @$(WINCHKOBJDIR) $(MKDIR) $(OBJDIR)
235
+ @echo "Looking for changes..."
236
+
225
237
$(BINDIR)/$(TARGET8XP): $(BINDIR)/$(TARGETHEX)
226
238
$(CD) $(BINDIR) $(chain) \
227
239
$(CV) $(CVFLAGS) $(notdir $<)
@@ -230,13 +242,6 @@ $(BINDIR)/$(TARGETHEX): $(CSTARTUPOBJ) $(LIBHOBJ) $(OBJECTS)
230
242
echo C CE SDK Version $(VERSION)
231
243
$(LD) $(LDFLAGS) $@ = "$(subst $(space),$(comma),$(call WINRELPATH,$^) $(LOBJECTS) $(LIBRARIES))"
232
244
233
- $(OBJDIR):
234
- echo $(OBJECTS)
235
- $(MKDIR) $(OBJDIR)
236
-
237
- $(BINDIR):
238
- $(MKDIR) $(BINDIR)
239
-
240
245
#This rule handles conversion of the icon, if it is ever updated
241
246
$(OBJDIR)/$(ICON_OBJ): $(ICONPNG)
242
247
$(ICON_CONV) $(chain) \
@@ -274,5 +279,5 @@ clean:
274
279
version:
275
280
@echo C SDK Version $(VERSION)
276
281
277
- .PHONY: all clean version
278
-
282
+ .PHONY: all clean version add_dirs
283
+
0 commit comments