Skip to content

Commit bbe47c0

Browse files
Roll back makefile changes
+ Need to fix windows issues first
1 parent a9113a8 commit bbe47c0

File tree

1 file changed

+17
-30
lines changed

1 file changed

+17
-30
lines changed

src/core_makefile

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ CCLEANUP_OBJ ?= ccleanup.obj
77
CLEANUP ?= YES
88
#----------------------------
99

10-
VERSION := 7.4
10+
VERSION := 7.5
1111

1212
#----------------------------
1313
# try not to edit anything below these lines unless you know what you are doing
@@ -16,10 +16,6 @@ VERSION := 7.4
1616
#----------------------------
1717

1818
# define some common makefile things
19-
20-
# source: http://blog.jgc.org/2011/07/gnu-make-recursive-wildcard-function.html
21-
rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2)$(filter $(subst *,%,$2),$d))
22-
2319
empty :=
2420
space := $(empty) $(empty)
2521
comma := $(empty),$(empty)
@@ -83,15 +79,15 @@ ICON_OBJ := $(ICON_ASM:%.src=%.obj)
8379
ALLDIRS := $(sort $(dir $(wildcard $(SRCDIR)/*/)))
8480

8581
# find all of the available C, H and ASM files (Remember, you can create C <-> assembly routines easily this way)
86-
CSOURCES := $(call NATIVEPATH,$(call rwildcard,$(SRCDIR),*.c))
87-
CPPSOURCES := $(call NATIVEPATH,$(call rwildcard,$(SRCDIR),*.cpp))
88-
USERHEADERS := $(call NATIVEPATH,$(call rwildcard,$(SRCDIR),*.h))
89-
USERHEADERS += $(call NATIVEPATH,$(call rwildcard,$(SRCDIR),*.hpp))
90-
ASMSOURCES := $(call NATIVEPATH,$(call rwildcard,$(SRCDIR),*.asm))
82+
CSOURCES := $(call NATIVEPATH,$(foreach dir,$(ALLDIRS),$(wildcard $(dir)*.c)))
83+
CPPSOURCES := $(call NATIVEPATH,$(foreach dir,$(ALLDIRS),$(wildcard $(dir)*.cpp)))
84+
USERHEADERS := $(call NATIVEPATH,$(foreach dir,$(ALLDIRS),$(wildcard $(dir)*.h)))
85+
USERHEADERS += $(call NATIVEPATH,$(foreach dir,$(ALLDIRS),$(wildcard $(dir)*.hpp)))
86+
ASMSOURCES := $(call NATIVEPATH,$(foreach dir,$(ALLDIRS),$(wildcard $(dir)*.asm)))
9187

9288
# figure out what the names of the sources will become once made into objects
93-
OBJECTS := $(filter %.obj,$(patsubst $(SRCDIR)/%.c,$(OBJDIR)/%.obj,$(subst \,/,$(CSOURCES))))
94-
OBJECTS += $(filter %.obj,$(patsubst $(SRCDIR)/%.asm,$(OBJDIR)/%.obj,$(subst \,/,$(ASMSOURCES))))
89+
OBJECTS += $(addprefix $(OBJDIR)/,$(notdir $(CSOURCES:%.c=%.obj)))
90+
OBJECTS += $(addprefix $(OBJDIR)/,$(notdir $(ASMSOURCES:%.asm=%.obj)))
9591

9692
# check if there is an icon present that we can convert; if so, generate a recipe to build it properly
9793
ifneq ("$(wildcard $(ICONPNG))","")
@@ -212,11 +208,9 @@ LDFLAGS := \
212208

213209
ifneq ($(OS),Windows_NT)
214210
LDFLAGS := '$(LDFLAGS)'
215-
SAFEMKDIR = $(MKDIR) $(call NATIVEPATH,$1)
216211
else
217212
WINCHKBINDIR := $(WINCHKDIR) $(BINDIR)
218213
WINCHKOBJDIR := $(WINCHKDIR) $(OBJDIR)
219-
SAFEMKDIR = $(WINCHKDIR) $(call NATIVEPATH,$1) $(MKDIR) $(call NATIVEPATH,$1)
220214
endif
221215

222216
# this rule is trigged to build everything
@@ -226,7 +220,7 @@ dirs:
226220
@echo C CE SDK Version $(VERSION) && \
227221
$(WINCHKBINDIR) $(MKDIR) $(BINDIR) && \
228222
$(WINCHKOBJDIR) $(MKDIR) $(OBJDIR)
229-
223+
230224
$(BINDIR)/$(TARGET8XP): $(BINDIR)/$(TARGETHEX)
231225
@$(CD) $(BINDIR) && \
232226
$(CV) $(CVFLAGS) $(notdir $<)
@@ -236,43 +230,36 @@ $(BINDIR)/$(TARGETHEX): $(OBJECTS)
236230

237231
# this rule handles conversion of the icon, if it is ever updated
238232
$(OBJDIR)/$(ICON_OBJ): $(ICONPNG)
239-
@$(call SAFEMKDIR,$(@D)) && \
240-
$(ICON_CONV) && \
241-
$(CD) $(call NATIVEPATH,$(@D)) && \
233+
@$(ICON_CONV) && \
234+
$(CD) $(OBJDIR) && \
242235
$(AS) $(ASM_FLAGS) $(ICON_ASM)
243236

244237
$(OBJDIR)/%.obj: $(GFXDIR)/%.c $(USERHEADERS)
245-
@$(call SAFEMKDIR,$(@D)) && \
246-
$(CD) $(call NATIVEPATH,$(@D)) && \
238+
@$(CD) $(OBJDIR) && \
247239
$(CC) $(CFLAGS) $(call WINPATH,$(addprefix $(CURDIR)/,$<))
248240

249241
$(OBJDIR)/%.obj: $(GFXDIR)/%.asm $(USERHEADERS)
250-
@$(call SAFEMKDIR,$(@D)) && \
251-
$(CD) $(call NATIVEPATH,$(@D)) && \
242+
@$(CD) $(OBJDIR) && \
252243
$(AS) $(ASM_FLAGS) $(call WINPATH,$(addprefix $(CURDIR)/,$<))
253244

254245
# this rule builds the assembly files and places them in the object directory
255246
$(OBJDIR)/%.obj: $(SRCDIR)/%.asm $(USERHEADERS)
256-
@$(call SAFEMKDIR,$(@D)) && \
257-
$(CD) $(call NATIVEPATH,$(@D)) && \
247+
@$(CD) $(OBJDIR) && \
258248
$(AS) $(ASM_FLAGS) $(call WINPATH,$(addprefix $(CURDIR)/,$<))
259249

260250
# these rules compile the source files into object files
261251
$(OBJDIR)/%.obj: $(SRCDIR)/%.c $(USERHEADERS)
262-
@$(call SAFEMKDIR,$(@D)) && \
263-
$(CD) $(call NATIVEPATH,$(@D)) && \
252+
@$(CD) $(OBJDIR) && \
264253
$(CC) $(CFLAGS) $(call WINPATH,$(addprefix $(CURDIR)/,$<))
265254

266255
# these rules compile the source files into object files
267256
$(OBJDIR)/%.obj: $(SRCDIR)/*/%.c $(USERHEADERS)
268-
@$(call SAFEMKDIR,$(@D)) && \
269-
$(CD) $(call NATIVEPATH,$(@D)) && \
257+
@$(CD) $(OBJDIR) && \
270258
$(CC) $(CFLAGS) $(call WINPATH,$(addprefix $(CURDIR)/,$<))
271259

272260
# this rule builds the assembly files and places them in the object directory
273261
$(OBJDIR)/%.obj: $(SRCDIR)/*/%.asm $(USERHEADERS)
274-
@$(call SAFEMKDIR,$(@D)) && \
275-
$(CD) $(call NATIVEPATH,$(@D)) && \
262+
@$(CD) $(OBJDIR) && \
276263
$(AS) $(ASM_FLAGS) $(call WINPATH,$(addprefix $(CURDIR)/,$<))
277264

278265
clean:

0 commit comments

Comments
 (0)