summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
b6363bb)
as of commit
af21a82ccc8687aa16e85def7db95efeae4cf72e, .sub files are
no longer in use. removing the makefile machinery to handle them not
only cleans up and simplifies the makefile, but also significantly
reduces make's startup time.
BASE_SRCS = $(sort $(wildcard $(srcdir)/src/*/*.c $(srcdir)/arch/$(ARCH)/src/*.[csS]))
BASE_OBJS = $(patsubst $(srcdir)/%,%.o,$(basename $(BASE_SRCS)))
BASE_SRCS = $(sort $(wildcard $(srcdir)/src/*/*.c $(srcdir)/arch/$(ARCH)/src/*.[csS]))
BASE_OBJS = $(patsubst $(srcdir)/%,%.o,$(basename $(BASE_SRCS)))
-ARCH_SRCS = $(wildcard $(srcdir)/src/*/$(ARCH)/*.[csS] $(srcdir)/src/*/$(ARCH)$(ASMSUBARCH)/*.sub)
+ARCH_SRCS = $(wildcard $(srcdir)/src/*/$(ARCH)/*.[csS])
ARCH_OBJS = $(patsubst $(srcdir)/%,%.o,$(basename $(ARCH_SRCS)))
ARCH_OBJS = $(patsubst $(srcdir)/%,%.o,$(basename $(ARCH_SRCS)))
-REPLACED_OBJS = $(sort $(subst /$(ARCH)$(ASMSUBARCH)/,/,$(subst /$(ARCH)/,/,$(ARCH_OBJS))) $(subst /$(ARCH)$(ASMSUBARCH)/,/$(ARCH)/,$(subst /$(ARCH)/,/,$(ARCH_OBJS))))
+REPLACED_OBJS = $(sort $(subst /$(ARCH)/,/,$(ARCH_OBJS)))
OBJS = $(addprefix obj/, $(filter-out $(REPLACED_OBJS), $(sort $(BASE_OBJS) $(ARCH_OBJS))))
LOBJS = $(OBJS:.o=.lo)
GENH = obj/include/bits/alltypes.h
OBJS = $(addprefix obj/, $(filter-out $(REPLACED_OBJS), $(sort $(BASE_OBJS) $(ARCH_OBJS))))
LOBJS = $(OBJS:.o=.lo)
GENH = obj/include/bits/alltypes.h
$(CRT_LIBS:lib/%=obj/crt/%): CFLAGS_ALL += -DCRT
$(CRT_LIBS:lib/%=obj/crt/%): CFLAGS_ALL += -DCRT
-# This incantation ensures that changes to any subarch asm files will
-# force the corresponding object file to be rebuilt, even if the implicit
-# rule below goes indirectly through a .sub file.
-define mkasmdep
-$(patsubst $(srcdir)/%,obj/%,$(dir $(patsubst %/,%,$(dir $(1))))$(ARCH)$(ASMSUBARCH)/$(notdir $(1:.s=.o))): $(1)
-endef
-$(foreach s,$(wildcard $(srcdir)/src/*/$(ARCH)*/*.s),$(eval $(call mkasmdep,$(s))))
-
$(LOBJS): CFLAGS_ALL += -fPIC -DSHARED
# Choose invocation of assembler to be used
$(LOBJS): CFLAGS_ALL += -fPIC -DSHARED
# Choose invocation of assembler to be used
AS_CMD = $(CC) $(CFLAGS_ALL) -c -o $@ $<
endif
AS_CMD = $(CC) $(CFLAGS_ALL) -c -o $@ $<
endif
-obj/%.o: $(srcdir)/%.sub
- $(CC) $(CFLAGS_ALL) -c -o $@ $(dir $<)$$(cat $<)
-
obj/%.o: $(srcdir)/%.s
$(AS_CMD) $(CFLAGS_ALL)
obj/%.o: $(srcdir)/%.s
$(AS_CMD) $(CFLAGS_ALL)
obj/%.o: $(srcdir)/%.c $(GENH) $(IMPH)
$(CC) $(CFLAGS_ALL) -c -o $@ $<
obj/%.o: $(srcdir)/%.c $(GENH) $(IMPH)
$(CC) $(CFLAGS_ALL) -c -o $@ $<
-obj/%.lo: $(srcdir)/%.sub
- $(CC) $(CFLAGS_ALL) -c -o $@ $(dir $<)$$(cat $<)
-
obj/%.lo: $(srcdir)/%.s
$(AS_CMD) $(CFLAGS_ALL)
obj/%.lo: $(srcdir)/%.s
$(AS_CMD) $(CFLAGS_ALL)